Physical Page Address Command for Open-Channel SSD Parallelism
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current solid state drive (SSD) systems face limitations in bandwidth due to the host interface, particularly with disk-based storage devices like HDDs, which are inefficient for random address access, and existing interfaces like PCIe and NVMe do not fully optimize the internal parallelism of SSDs for efficient data operations.
Innovation Solution
A communication method between a host and an SSD controller using a physical page address (PPA) command, where the host transmits a PPA command through a submission queue, including an operation code and a PPA list with bitmap information, channel, logical unit number, block, and page details, to perform read/write operations efficiently, and the controller processes these commands to optimize memory operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a multi-channel structure or multi-way structure is used for the NVM storage device, then the bandwidth improves, but the host interface bandwidth limits the overall bandwidth of the NVM storage device
Solution Approach 1:
The patent changes the addressing parameters from traditional LBA (logical block address) to PPA (physical page address), and introduces bitmap information to efficiently represent multiple PPAs. This parameter change allows the system to directly address physical memory locations, bypassing the limitations of the host interface bandwidth while maintaining compatibility with the multi-channel structure.
Solution Approach 2:
The PPA list is segmented into multiple entries, each containing a PPA and associated bitmap information. This segmentation allows parallel processing of multiple address references, enabling the system to fully utilize the multi-channel structure and achieve higher bandwidth despite host interface limitations.
2Productivity
If traditional LBA commands are used, then the interface operates smoothly, but the internal parallelism of SSDs is not fully optimized for efficient data operations
Solution Approach 1:
The patent introduces an intermediary PPA command structure that sits between the host interface and the SSD controller. This intermediary command format, which includes PPA lists with bitmap information, translates high-level data operation requests into optimized physical address references, enabling efficient utilization of internal SSD parallelism while maintaining ease of operation at the host interface.
Solution Approach 2:
The command parameters are changed from LBA-based to PPA-based addressing, with additional bitmap parameters to efficiently represent multiple physical pages. This parameter transformation enables direct mapping to physical memory locations, optimizing data operation efficiency while the command structure itself maintains operational simplicity.
3Measurement precision
If the PPA list includes detailed information for each PPA, then the precision of address access improves, but the size of the PPA list increases
Solution Approach 1:
Instead of storing redundant detailed information for each PPA entry, the patent uses bitmap information that copies or references shared characteristics across multiple PPAs. The bitmap efficiently represents which pages within a block are valid, reducing the overall PPA list size while maintaining precise address access capability.
Solution Approach 2:
The patent merges common information (such as block address, plane, and page size) into shared fields that apply to multiple PPA entries, rather than repeating this information for each entry. The bitmap information consolidates the representation of multiple page states, significantly reducing the total data structure size while preserving precise addressing.
Data Source
AI summary
Disclosed is a method of transceiving data using a physical page address (PPA) command on an open-channel solid state drive (SSD), the method including transmitting, by a host, a PPA command to a controller using a submission queue, and performing, by the controller, an operation based on the PPA command, wherein the PPA command includes an operation code (Opcode) to operate the controller and a PPA list for the controller to perform the Opcode on a memory, and the PPA list includes at least one PPA and bitmap information related to the at least one PPA.


