هارد

آشنایی با NVMe

آشنایی با NVMe

آشنایی با NVMe
آشنایی با NVMe

(NVM Express (NVMe یک پروتکل برای حمل داده ها بر روی رسانه های مختلف و ذخیر سازی بهینه در NAND فلش ها میباشند. پورتهای PCIe ها بطور معمول کاربرد متوسطی برای رسانه های انتقال دیتا دارند. رسانه های دیگر مانند 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 جلوگیری می شود و اجازه گشترش پذیری فوق العاده ای را می دهد و کارایی بهتری را پشتیبانی میکند.