NVM Express یا به اختصار NVMe، پروتکل جدیدی برای ارتباط با حافظه‌های SSD فوق سریع است. استفاده از NVMe موجب کاهش تأخیر، افزایش تعداد اعمال ورودی و خروجی در ثانیه و نیز کاهش مصرف انرژی می‌شود.

در این مقاله نگاهی دقیق‌تر به NVMe و سرعت و فواید آن خواهیم داشت.

فلسفه‌ی استفاده از درایوهای SSD پی‌سی‌آی‌اکسپرس

چند سال پیش فقط هارددیسک‌ درایوها 2.5 یا 3.5 اینچی را در کامپیوترهای سریع می‌دیدیم. پورت ساتا 2 و ساتا 3 با پهنای باند 3 و 6 گیگابیت بر ثانیه به خوبی سرعت بهترین درایوهای دیسک سخت (هارددیسک) را آشکار می‌کردند و محدودیتی وجود نداشت. با معرفی SSDهای سریع و پیشرفت آنها، پورت ساتا 3 مناسب نبود و از این رو اس‌اس‌دی‌های خاصی معرفی شدند که از واسطی سریع مثل پی‌سی‌آی اکسپرس بهره می‌گرفتند تا سرعت بسیار بالای خود را نمایان کنند.

پی‌سی‌آی اکسپرس 3.0 تنها با یک مسیر هم 8 گیگابیت بر ثانیه سرعت دارد!

پورت SATA II و SATA III با پهنای باند 3 و 6 گیگابیت بر ثانیه (با گیگابایت بر ثانیه اشتباه نگیرید!) جای خود را به ساتا اکسپرس، پی‌سی‌آی اکسپرس و M.2 که مبتنی بر باس‌های مختلف و از همه مهم‌تر باس سریع پی‌سی‌آی اکسپرس 3.0 است، داده‌اند و زمینه برای معرفی کارت‌های اس‌اس‌دی فوق سریع آماده شده است. از طرفی قیمت محصولات جدیدی که تدریجاً رونمایی می‌شوند، پایین‌تر از ارقام سرسام‌آور درایوهایی مثل OCZ RevoDrive است.

NVMe چیست؟

Non-Volatile Memory Host Controller Interface Specification یا به صورت مخفف NVMHCI مشخصه‌های باس ارتباطی جدیدی برای دسترسی سریع‌تر به درایوهای SSD متصل شده از طریق پی‌سی‌آی اکسپرس است. Non-Volatile Memory یا حافظه‌ی غیر-فرّار به حافظه‌ای گفته می‌شود که داده‌های موجود با قطعی جریان الکتریکی، از بین نمی‌روند و در واقع فرّار نیستند. NVMe نوعی دیگری از NVM است که تأخیر پایین‌تر و ارتباط موازی‌تری دارد. بنابراین NVM Express سرعت عمل SSDها را افزایش می‌دهد.

دقت کنید که NVM Express استانداردی برای تسریع عملکرد درایوهای مبتنی بر کانکتور M.2، ساتا اکسپرس و همین‌طور SSDهایی به شکل کارت‌های پی‌سی‌آی اکسپرس است و پورتی جدید محسوب نمی‌شود.

بنابراین:

NVM Express یا به اختصار NVMe  است، استانداردی جدید برای دسترسی به حافظه‌های SSD فوق سریع است که استفاده از آن به معنی کاهش تأخیر، افزایش تعداد اعمال ورودی و خروجی در ثانیه و نیز کاهش مصرف انرژی است.

آیا واقعاً به NVMe نیاز داریم؟

بدون استانداردی جامع، سیستم عامل و نرم‌افزارها نمی‌توانند ارتباط بهینه‌ای با سخت‌افزار داشته باشند. برای اینکه بتوان ویندوز، لینوکس یا مک را از فضای ذخیره‌سازی مثل SSD مبتنی بر پی‌سی‌آی اکسپرس بوت کرد، به درایور مناسب نیاز داریم و بدون استاندارد، ارایه‌ی یک درایور برای تمام SSDها غیر ممکن است.

هارد اکسترنال USB معمولاً نیازی به درایور ندارد! موس و کیبورد هم همین‌طور. 

پورتی مثل USB را در نظر بگیرید، بسیاری از وسایل متصل شده از طریق این پورت، حتی بدون درایو اختصاصی هم کارشان را به درستی انجام می‌دهند چرا که بنابر استاندارد، ویندوز و دیگر سیستم عامل‌ها پذیرای این محصولات هستند. البته محصولات خاص به درایو اختصاصی نیاز دارند که سازنده می‌بایست آن را به همراه وسایل عرضه کند.

بنابراین اینتل در سال 2007 اولین نسخه‌ی استاندارد NVMHCI را منتشر کرد. در سال 2009 گروهی با عضویت بیش از 90 کمپانی بزرگ کار روی NVMe را آغاز کرد و در سال 2011 اولین نسخه‌ی استاندارد NVMe تهیه شد. نسخه‌های بعدی برای اضافه کردن قابلیت‌ها و امکانات بیشتر و نیز افزایش عملکرد در سال‌های بعدی منتشر شدند و محصولات جدید سازگار با استاندارد NVMe تدریجاً از سال 2013 وارد بازار شدند.

اهداف شکل‌گیری استاندارد NVMe را در بنچ‌مارک‌ها دنبال کنیم

هدف اصلی همان چیزی است که پیش‌تر بیان شد، استانداردسازی درایوهای SSD فوق سریع و شکل‌گیری درایور مرجع برای تمام سیستم عامل‌ها. اما دیگر اهدافی که در تدوین استاندارد NVMe لحاظ شده، کاهش تأخیر، افزایش اعمال ورودی و خروجی یا IOPS و کاهش مصرف انرژی است.

برد مرجع NVMe مطابق شکل زیر طراحی شده، کانکتور آن PCIe 3.0 x8 است و شامل حداکثر 4 گیگابایت رم DDR3 و حداکثر 2 ترابایت فلش SLC یا 4 ترابایت فلش MLC است:

برد مرجع NVMe

SSD 750 اینتل اولین درایو SSD برای بازار مصرف‌کنندگان معمولی و نه سرور و دیتاسنتر است. درایوی که در دو ظرفیت 400 و 1.2 ترابایت معرفی شده و از واسط چهار مسیره‌ی پی‌سی‌آی‌اکسپرس بهره می‌برد.

سرعت خواندن و نوشتن ترتیبی این درایو به ترتیب 2400 و 1200 مگابایت بر ثانیه اعلام شده که البته بسته به طول صف خواندن و نوشتن می‌تواند کمتر و اندکی بیشتر شود. در بررسی آناندتک نتایج زیر به دست آمده است:

سرعت خواندن ترتیبی درایو SSD 750 اینتل، بسته‌های 128 کیلوبایتی

سرعت نوشتن ترتیبی درایو SSD 750 اینتل، بسته‌های 128 کیلوبایتی

NVMe قابلیت موازی‌سازی اعمال را چند برابر می‌کند.

البته هنوز هم برخی محصولات موجود مثل درایو SM951 سامسونگ که مبتنی  بر کانکتور M.2 است و از همان ارتباط 4 مسیره‌ی پی‌سی‌آی‌اکسپرس استفاده می‌کنند، عملکرد بهتری دارند ولیکن SSD 750 اینتل اولین محصول در این گروه است و قرار نیست بهترین باشد، از طرفی یکی از مشخصه‌های استاندارد NVMe این است که از 64000 صف ورودی و خروجی که هر یک می‌تواند حداکثر 64000 دستور داشته باشد، پشتیبانی می‌کند. بنابراین مزیت درایو SSD 750 زمانی آشکار می‌شود که طول صف زیاد شود و این مهم را در نمودار فوق می‌بینیم.

زمانی که طول صف اعمال ورودی و خروجی 1، 2 و 4 باشد، متوسط سرعت درایوها به صورت زیر است که برتری محصول سامسونگ در بنچ‌مارک خواندن داده را نشان می‌دهد:

متوسط سرعت با طول صف 1، 2 و 4

متوسط سرعت با طول صف 1، 2 و 4

در خواندن و نوشتن تصادفی، با توجه به اینکه SSD 750 اینتل حداکثر اعمال ورودی خروجی در ثانیه را به ارقام فوق‌العاده بالای 440 هزار و 290 هزار نزدیک می‌کند، انتظار داریم که سرعت آن بسیار بالا باشد و در عمل هم همین‌گونه است:

سرعت خواندن و نوشتن تصادفی داده‌های 4 کیلوبایتی

سرعت خواندن و نوشتن تصادفی داده‌های 4 کیلوبایتی

سرعت خواندن و نوشتن تصادفی داده‌های 4 کیلوبایتی

همان‌طور که مشاهده می‌کنید نه درایو رده اول سندیسک و نه کارت SSD فوق سریع سامسونگ در حالتی که 50 درصد خواندن و 50 درصد نوشتن صورت بگیرد، سرعتی بالاتر از 100 مگابایت بر ثانیه ندارد حال آنکه SSD 750 با پیروی از استاندارد NVMe به سرعت 160 مگابایت بر ثانیه دست پیدا می‌کند.