以下是發送一個NVMe admin/Io command 的流程。相關driver source code 可參考NVMe official website
1. Host Adds a command in the submission queue's tail entry
2. Host rings the submission queue's Tail Doorbell
3. Device fetch the command
4. Device process the command (done)
5. Device adds the completion result in the completion queue's tail entry (Completion result has its relevant command id)
6. Device send a Interrupt(Probably MSI-X)
7. Host reads the completion queue
7.1 Host has received the completion command
8. Host rings the completion queue's Head Doorbell
沒有留言:
張貼留言