NVMe

From OSDev.wiki
Jump to navigation Jump to search

The NVMe Specifications can be found here.

Forum thread about this page here.

TLDR FAQ

Introduction

Examples in several programming languages can be found at GitHub

NVMe is a non-volatile memory(NVM) controller you access over PCI_Express.

NVMe has queues that are used to issue administration commands and storage commands.

Submission Queue

Submission queues are used to submit commands to the controller.

Completion Queue

Admin Commands

Admin commands are used to do non-storage related activities, such as identify the controller features, storage size, create and destroy general purpose queues.

NVM Commands