NAND Direct Access Horizontal Queue for SSD Data Placement
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional SSDs with host-managed direct access to NAND die face constraints such as available channels, NAND die, and blocks, which can block optimal data placement, leading to performance issues when not all tenants are actively scheduling IO operations.
Innovation Solution
Implementing a NAND direct access horizontal queueing technology that allows temporary placement of data in sub-optimal locations, leveraging idle channels and NAND resources, with a two-stage IO queueing mechanism to relocate data to optimal locations during background media management operations, ensuring data isolation and maximum throughput.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If data is placed only in optimal locations based on host-provided policies, then data placement optimality is improved, but resource utilization deteriorates when not all tenants are actively scheduling IO operations
Solution Approach 1:
The patent divides the IO queue into two segments: a first queue for optimal data placement according to host policies, and a second queue for sub-optimal but acceptable placements. This segmentation allows the system to pursue optimal placement for active tenants while utilizing idle resources through the second queue, resolving the contradiction between placement optimality and resource utilization.
Solution Approach 2:
The patent applies partial action by allowing data placement in sub-optimal locations (second queue) when optimal locations are unavailable, rather than strictly enforcing optimal placement. This partial relaxation of the optimality constraint enables better resource utilization during periods when not all tenants are actively scheduling IO operations.
2Manufacturing precision
If strict data placement policies are enforced, then data placement accuracy is improved, but IO operation scheduling deteriorates when channels or blocks are unavailable
Solution Approach 1:
The patent implements dynamic data placement by allowing the system to switch between strict policy enforcement (first queue) and relaxed placement (second queue) based on resource availability. When channels or blocks are unavailable, the system can dynamically place data in the second queue, maintaining IO scheduling flexibility while preserving data placement accuracy for active tenants.
Solution Approach 2:
The second queue acts as an intermediary mechanism between strict data placement policies and IO scheduling requirements. It provides a buffer that allows IO operations to proceed even when optimal placement locations are unavailable, mediating between the conflicting requirements of placement accuracy and scheduling flexibility.
3Productivity
If multiple tenants share channels, then channel utilization is improved, but data isolation deteriorates
Solution Approach 1:
The patent segments the data placement process into two queues that operate with different isolation requirements. The first queue maintains strict data isolation for active tenants, while the second queue allows more flexible sharing of channels for sub-optimal placements. This segmentation enables channel utilization improvement without compromising the data isolation of active tenants.
Solution Approach 2:
The patent applies different quality requirements to different queues: the first queue maintains high data isolation quality for active tenants, while the second queue accepts lower isolation quality in exchange for better channel utilization. This local differentiation of quality requirements resolves the contradiction between channel sharing and data isolation.
Data Source
AI summary
An embodiment of a semiconductor apparatus may include technology to determine if data can be placed in a first data location in a persistent storage media based on a host-provided first data placement policy, and then based on the determination, place the data in the first data location, or place the data in a second data location in the persistent storage media based on a host-provided second data placement policy, and subsequently relocate the data from the second data location to the first data location. Other embodiments are disclosed and claimed.


