آشنایی با NVMe

مقدمه ای برای NVMe :

(NVM Express (NVMe یک پروتکل برای حمل داده ها بر روی رسانه های مختلف و ذخیر سازی بهینه در NAND فلش ها میباشند.

PCIe (Peripheral Component Interconnect Express) ها بطور معمول کاربرد متوسطی برای رسانه های انتقال دیتا دارند. رسانه های دیگر مانند NVMe over Fabrics اخیرا برای تراشه های NAND فلش بهینه سازی شده اند. با پیشترفت های NAND فلش ها , یک چارچوب با پهنای باند بالا و زمان تاخیر کمتر برای پروتکل ذخیره سازی فراهم شده است.

NVMe (Non-Volatile Memory Express)  یک پردازشگر مقیاس پذیر و با کارایی بالا برای PCIe Gen3 میباشد که برای سیستم های Client  و Enterprise با استفاده از تکنولوژِی SSD ها طراحی شده است. این تکنولوژی برای کاهش زمان تاخیر(Latency) و ارایه پردازنده سریعتر (CPU) به عملکرد دستگاه ذخیره سازی داده (Data Storage) برای محاسبات پیشترفته طراحی شده است.

با استفاده از NVMe مشتریان میتوانند از تاخیر کم, افزایش عملیات ورودی/خروجی در هر ثانیه (IOPs), و مصرف انرژی پایین تر بهرمند شوند.

پروتکل 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 جلوگیری می شود و اجازه گشترش پذیری فوق العاده ای را میدهد و کارایی بهتری را پشتیبانی میکند.

عملکرد NVMe Controller در شکل زیر قابل مشاهده میباشد:

در این تصویر چند بردار عملکردی از جمله پهنای باند, IOPs و زمان تاخیر که شامل NVMe ها میشوند , وجود دارند. به عنوان مثال, حداکثر IOPs ممکن برای Serial ATA  عدد 200,000 بود, در حالی که دستگاه NVMe تاکنون نشان داده اند که میتوانند بیش از 1,200,000 IOPs داشته باشند. با پشتیبانی از PCI Express و Fabrics , مانند RDMA و فیبر کانال, NVM Express میتواند پهنای باند بالاتری از SATA و SAS را داشته باشد.

پشتیبانی از سیستم عامل

سیستم عامل های مورد نیاز :

 

Driver Available
Chrome os Chrome os

 

RHEL 6.5 , 6.6 , 6.7 , 7.0 , 7.1

SUSE 11 SP3, 12

Ubuntu 13, 14

 

Linux

 

Windows 7,8,8.1,10

Windows Server 2008 R2, 2012,

2012 R2

Windows Server 2016

 

Windows
UEFI UEFI
 

FreeBSD

Solaris 11.2 and higher

 

UNIX
ESXi 5.5, 6.0 , 6.5 , 6.7 VMware

 

اندازه گیری های عملکرد و نتایج :

با استفاده از NVMe مشتریان میتوانند از تاخیر کم, افزایش عملیات ورودی/خروجی در هر ثانیه (IOPs) و مصرف انرژی پایین تر بهرمند شوند.

جدول زیر نشان دهنده این است که SSD ها بر اساس مشخصات NVMe بهترین IOPs و عمکلرد پهنای باند و بالاترین محدوده ظرفیت را ارایه میدهند.

 

 

جدول زیر ویژگی های کلیدی پروتکل SATA بر اساس رابط کنترل کننده میزبان (AHCI) با پروتکل (PCIe) و مشخصات NVM را مقایسه میکند.

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *