-
1.
公开(公告)号:US20250156353A1
公开(公告)日:2025-05-15
申请号:US18592026
申请日:2024-02-29
Applicant: Microsoft Technology Licensing, LLC
Inventor: Ming JIN , Vadim MAKHERVAKS , Ji DAI , Tengda YAN , Yuan YI , Chuanjun YIN , Scott Chao-Chueh LEE
Abstract: A system and method for using a semi-polling model to monitor a Non-Volatile Memory Express (NVMe) completion queue (CQ). The method, implemented at an interrupt thread, includes receiving an input/output (I/O) request from an application and submitting a submission queue (SQ) entry into an NVMe SQ in response to the I/O request. The method further includes registering for notifications from a polling thread after submitting the SQ entry and receiving, from the polling thread, a notification of the presence of a CQ entry within an NVMe CQ. Additionally, the method involves removing the CQ entry from the NVMe CQ and notifying the application of completion of the I/O request.
-
2.
公开(公告)号:US20250156360A1
公开(公告)日:2025-05-15
申请号:US18592046
申请日:2024-02-29
Applicant: Microsoft Technology Licensing, LLC
Inventor: Ming JIN , Vadim MAKHERVAKS , Ji DAI , Tengda YAN , Yuan YI , Chuanjun YIN , Scott Chao-Chueh LEE
Abstract: Systems and methods are disclosed for implementing a Non-Volatile Memory Express (NVMe) driver in a computer system. The method involves mapping a memory buffer into a user mode address space to facilitate data transfer with an NVMe device via direct memory access (DMA). Additionally, a first NVMe queue pair, including a submission queue (SQ) and a completion queue (CQ), is mapped into the user mode address space, allowing a user mode component to submit commands to the NVMe device. The method further enables the user mode component to ring a doorbell at the NVMe device. Finally, an NVMe command is processed in kernel mode using a second NVMe queue pair comprising a second SQ and a second CQ.
-