Storage Controller PF Data Allocation via Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing multiple physical function (MPF) devices face challenges in efficiently storing various physical function data in a mixed manner due to high costs associated with garbage collection (GC).
Innovation Solution
The implementation of a storage controller that allocates physical blocks to physical function (PF) data based on various block allocation policies, including performance proportion, performance assurance, die performance-based, and erase count (EC)-based policies, to optimize storage efficiency and reduce GC costs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multiple physical function (MPF) devices store various physical function data in a mixed manner, then storage capacity is increased, but garbage collection cost increases
Solution Approach 1:
The patent divides the storage space into separate logical units corresponding to different physical functions (PF0, PF1, PF2, etc.). Each PF data is stored in its dedicated logical unit, preventing mixing of different PF data in the same physical blocks. This segmentation allows independent management of each PF's storage lifecycle, enabling garbage collection to be performed separately for each PF without affecting others, thereby reducing overall GC cost while maintaining high storage capacity utilization.
2Quantity of substance
If multiple physical function (MPF) devices store various physical function data in a mixed manner, then storage capacity is increased, but write amplification factor increases
Solution Approach 1:
The patent segments storage into PF-specific logical units, allowing each PF's data to be managed independently. This prevents the write amplification problem caused by mixed storage, where valid data from different PFs would require repeated writes during garbage collection. By separating PF data streams, the system reduces redundant writes and lowers the write amplification factor while maintaining high storage capacity.
3Loss of energy
If separate storage spaces are allocated for different physical functions, then garbage collection cost is reduced, but device complexity increases
Solution Approach 1:
The patent implements a universal logical unit structure that can accommodate multiple physical functions. Each logical unit is designed with a standardized format containing PF identification information, allowing the same storage infrastructure to serve multiple PFs. This multi-functional design reduces device complexity compared to implementing completely separate physical storage spaces for each PF, while still achieving the benefit of reduced garbage collection cost through logical separation.
Data Source
Figure 1A
Figure 1B
Figure 2
AI summary
A storage device includes a non-volatile memory and storage controller. The non-volatile memory includes a plurality of physical blocks coupled to each other via a plurality of dies. Each die of the plurality of dies is coupled to a corresponding bank via a corresponding channel. The storage controller is configured to receive, from a plurality of hosts, a plurality of pieces of physical function (PF) data. The storage controller is further configured to measure metrics of the plurality of pieces of PF data and the plurality of dies. The storage controller is further configured to allocate, according to a die allocation policy and based at least on the measured metrics, the plurality of pieces of PF data to one or more dies of the plurality of dies. Each die of the plurality of dies is allocated to a corresponding host of the plurality of hosts.