پروتکل NVMe :

پروتکل NVMe, یک پروتکل پیشرفته و بهینه سازی شده برای انتقال اطلاعات کارآمد از PCIe برای ذخیره سازی در NAND فلش ها میباشد. که در حال حاظر روی SSD ها استفاده میشود.
برای بهینه سازی ذخیره سازی و بازیابی اطلاعات, NVMe ها تا حداکثر 64K دستور را تا حداکثر 64K درخواست I/O در هر صف را به صورت همزمان مورد استفاده قرار می دهند. نرم افزار سیستم Host دستورات را به صف ارسال می کند و کنترل کننده NVMe , دستورات کامل شده را به صف مربوط به دستورات تکمیل شده منتقل میکند و هنگامی که دستورات تکمیل شده زیاد می شوند همه آن ها را در یک تک صف تکمیل شده گزارش میدهد و در این بین کنترل کننده , دستورات را اولویت بندی می کند. همپچنین پیام های قطع شده ناخواسته (MSI-X) و هر وقفه ای به خوبی پشتیبانی می شود ؛ و در صورت نیاز از بسیاری از قابلیت های سازمانی مانند حفاظت از داده های به پایان رسیده (سازگار با استاندارد های T10 DIF و DIX), گزارش Error های افزایش یافته را, پشتیبانی میکند.
پروتکل NVMe چندین صف را پشتیبانی می کند که پیشترفتی نسبت به پروتکل های SAS و SATA داشته است. هارد های SAS معمولی تا 256 فرمان پشتیبانی می کند و هارد های SATA از 32 فرمان در یک صف پشتیبانی میکنند.در مقابل NVMe ها از حداکثر 64K فرمان در هر صف و حداکثر 64K صف را پشتیبانی می کند. این صف ها به طوری طراحی شده اند که دستورات I/O و پاسخ به آن دستورات را بر روی یک هسته پردازنده و قابلیت پردازش موازی پردازنده های چند هسته ای را دارا باشند. هر برنامه می تواند یک صف مستقل به خود داشته باشد. NVMe همچنین با پشتیبانی از MSI-X که باعث ایجاد وقفه و از ایجاد ترافیک, که از ایجاد گلوگاه در سطح Cpu جلوگیری می شود و اجازه گشترش پذیری فوق العاده ای را می دهد و کارایی بهتری را پشتیبانی میکند.