آشنایی با 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 را داشته باشد.
پشتیبانی از سیستم عامل
سیستم عامل های مورد نیاز :
اندازه گیری های عملکرد و نتایج :
با استفاده از NVMe مشتریان می توانند از تاخیر کم, افزایش عملیات ورودی/خروجی در هر ثانیه (IOPs) و مصرف انرژی پایین تر بهرمند شوند.
جدول زیر نشان دهنده این است که SSD ها بر اساس مشخصات NVMe بهترین IOPs و عمکلرد پهنای باند و بالاترین محدوده ظرفیت را ارایه میدهند.
جدول زیر ویژگی های کلیدی پروتکل SATA بر اساس رابط کنترل کننده میزبان (AHCI) با پروتکل (PCIe) و مشخصات NVM را مقایسه میکند.
منبع : دانش دیتاسنتر
نویسنده : محمد نعمتی