NVMe چیست؟

(non-volatile memory express) ملقب به NVMe، یک پروتکل ذخیره‌سازی است که برای سرعت بیشتر انتقال داده‌ها بین سیستم‌های سازمانی و مشتری و درایوها از طریق گذرگاه اکسپرس پرسرعت Peripheral Component Interconnect) ) ایجاد شده است. NVMe  معمولاً برای ذخیره سازی در SSD، حافظه اصلی، حافظه cache و یا حافظه پشتیبان استفاده می شود. NVMe برای استفاده درfaster media طراحی شده است. مزیت اصلی درایوهای SSD PCIe مبتنی بر NVMe نسبت به سایر درایو ها ، latency کمتر و input/output بالاتر در ثانیه (IOPS) است. NVMe همچنین یک عامل کلیدی برای فناوری‌ها و برنامه‌های در حال تکامل مانند اینترنت اشیا، هوش مصنوعی و machine learning است که همگی می‌توانند از latency کم و عملکرد بالا در NVMe بهره ببرند.

NVMe چگونه کار می کند؟

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

یک NVMe SSD از طریق یک گذرگاه PCIe یا کانکتورهای M.2 و  U.2 به مین برد متصل می شود. پروتکل NVMe که با این اتصالات متصل شده است، latency کمتر و IOPS بالاتر را همراه با کاهش مصرف برق امکان پذیر می کند.

NVMe دستورات ورودی/خروجی (I/O) و پاسخ به حافظه مشترک در کامپیوتر میزبان را از طریق یک رابط PCIe می دهد. رابط NVMe از ورودی/خروجی موازی با پردازنده‌هایی با core  بالا پشتیبانی می‌کند تا توان عملیاتی بالا و رفع تنگناهای واحد پردازش مرکزی (CPU) را تسهیل کند.

چرا NVMe مهم است؟

NVMe که برای ذخیره سازی در درایو های غیر فرار high-performance مانند SSD طراحی شده است، که برای راندمان کاری بالا و محاسباتی بسیار مناسب است. درصورت مقایسه، تفاوت عملکرد زیادی بین NVMe و SATA وجود دارد. به عنوان مثال، NVMe ، latency بسیار کمتری نسبت به سایر پروتکل های SAS و SATA دارد. این افزایش عملکرد و کاهش تأخیر در پاسخ گویی به این معنی است که NVMe را می توان با برنامه های فشرده کاری که نیاز به پردازش بلادرنگ دارند و در عین حال از down شدن سیستم جلوگیری می کند، استفاده کرد. استفاده از NVMe برای بهبود عملکرد و افزایش سرعت به دیتا سنترها بسیار کمک می کند.

موارد استفاده NVMe چیست؟

به دلیل  performance بالای ذخیره‌سازی فلش  NVMe، همراه با توانایی آن در مدیریت تعداد زیادی صف و دستورات، NVMe برای موارد زیر مناسب است:

  • انجام کارهایی مانند ویرایش گرافیکی.
  • برنامه های کاربردی با عمق صف زیاد برای ذخیره سازی ورودی/خروجی، از جمله پایگاه های داده و برخی عملیات های وب.
  • محاسبات High-performance به طور خاص، در برنامه هایی که latency کم بسیار مهم است.
  • مشاغلی که نیاز به ذخیره سازی حجم زیادی از داده ها دارند، مانند هوش مصنوعی، یادگیری ماشین، تجزیه و تحلیل پیشرفته و داده های بزرگ.
  • برنامه هایی که نیاز به بازیابی یا ذخیره داده ها در زمان واقعی دارند، مانند برنامه های مالی و تجارت الکترونیک.

مزایای NVMe چیست؟

 درایوهای NVMe می توانند دستورات را دو برابر سریعتر از درایوهای AHCI SATA ارسال کنند.

  • SSD های NVMe تنها چند میکروثانیه تاخیر دارند، در حالی که SSD های SATA بین 30 تا 100 میکروثانیه تاخیر دارند.
  • ذخیره سازی، مدیریت و دسترسی کارآمد به داده ها.
  • دارا بودن پهنای باند بسیار بالاتری نسبت به SATA و SAS.
  • از چندین فرم فاکتور از جمله 2، U.2 و اتصالات پشتیبانی می کند.

معایب NVMe

  • عدم پشتیبانی سیستم های قدیمی از این تکنولوژی.
  • برای ذخیره سازی در حجم بالای داده مقرون به صرفه نیست نبوده و گران تر است.

تفاوت  SATA، NVMe و SAS

 

SATA

SATA یک پروتکل ارتباطی است که بیشتر مناسب برای تعامل با سیستم های ذخیره سازی هارد دیسک (HDD) توسعه یافته است. SATA که در سال 2000 معرفی شد  و جایگزین ATA وارد بازار شده و به سرعت به پروتکل سیستم ذخیره سازی برای رایانه ها تبدیل شد. در طول سال‌ها، و به روز رسانی های متعدد این مشخصات اکنون با سرعت 6 گیگابیت در ثانیه با توان عملیاتی تا 600 مگابایت در ثانیه افزایش یافته است.

NVMe

سرعت و latency کم NVMe ، به هیچ عنوان با  SATA قابل قیاس نمی باشد و NVMe ظرفیت ذخیره‌سازی بسیار بالاتری را در فاکتورهای کوچک‌تر مانند M.2 امکان‌پذیر می‌کند. به طور کلی، پارامترهای عملکرد NVMe پنج برابر یا بیشتر از پارامترهای SATA فاصله دارند.

SAS

NVMe از 64000 فرمان در یک صف پیام و حداکثر 65535 صف ورودی/خروجی پشتیبانی می کند. در مقابل، عمق صف دستگاه SAS معمولاً تا 256 فرمان را پشتیبانی می کند و درایو SATA حداکثر 32 فرمان را در یک صف پشتیبانی می کند.

با این حال، SSD های PCIe مبتنی بر NVMe در حال حاضر گران تر از SAS SSD با ظرفیت معادل هستند. همچنین، درایوهای SSD NVMe شرکتی سطح بالا ممکن است انرژی بیشتری نسبت به SAS یا SATA SSD مصرف کنند. انجمن تجارت SCSI ادعا می‌کند که SASهای با ظرفیت بیشتر مزایای بیشتری نسبت به SSD‌های NVMe PCIe دارند، مانند مقیاس‌پذیری بیشتر، قابلیت اتصال داغ و قابلیت‌های Failover تست ‌شده با زمان. SSD های NVMe PCIe همچنین ممکن است سطحی از عملکرد را ارائه دهند که بسیاری از برنامه ها به آن نیاز ندارند، در این صورت مقدار بسیار زیادی از منابع و هزینه شما بلا استفاده خواهد ماند.

استانداردهای NVMe

 NVMe پاسخ گوی نیاز، به یک رابط ذخیره سازی و پروتکل برای بهره برداری بهتر از پتانسیل عملکرد NAND flash در محیط های سازمانی بود. که در نهایت سبب تولید و رویش  پروتکل جدید به نام  NVMe در صنعت ذخیره سازی شد که شامل فاکتور های جدید SSD با نام‌های M.2 و U.2 بود.

AIC

فرم فاکتور AIC  به تولیدکنندگان این امکان را می‌دهد تا کارت‌های خود را که در گذرگاه PCIe قرار می‌گیرند، بدون نگرانی در مورد طرح‌های محل ذخیره یا محدودیت‌های مشابه ایجاد کنند. این کارت‌ها اغلب برای موارد استفاده خاص طراحی شده‌اند و ممکن است نیازمند پردازنده‌های اضافی و سابر اجزای سخت افزاری دیگر برای افزایش عملکرد ذخیره‌سازی اس اس دی باشند.

M.2.

فرم فاکتور M.2 برای استفاده از NAND flash ها  و کاهش حرارت ایجاد شده، تولید شده اند. به این ترتیب، دستگاه‌های M.2 NVMe برای قرار گرفتن در محفظه‌های درایو سنتی در نظر گرفته نشده‌اند، بلکه باید در فضاهای بسیار کوچک‌تر مستقر شوند. درایوهای SSD M.2 که اغلب به اندازه یک آدامس توصیف می‌شوند، 22 میلی‌متر عرض و 80 میلی‌متر طول دارند، اگرچه برخی از محصولات ممکن است بلندتر یا کوتاه‌تر باشند.

U.2.

بر خلاف فرم فاکتور M.2، درایوهای SSD U.2 به گونه‌ای طراحی شده‌اند که در محل‌های ذخیره‌سازی موجود که در ابتدا برای دستگاه‌های استاندارد SATA یا SAS در نظر گرفته شده بودند، قرار بگیرند. درایوهای SSD U.2 شبیه رسانه‌های قدیمی‌تر هستند، زیرا معمولاً از محفظه‌های 2.5 یا 3.5 اینچی استفاده می‌کنند که محفظه‌های آشنا برای هارد دیسک‌ها هستند. البته ایده این بود که پیاده‌سازی فناوری NVMe را تا حد امکان با کمترین مهندسی مجدد آسان‌تر کنیم.

EDSFF.

یکی دیگر از فرم فاکتورهای NVMe که کمتر مستقر و شنیده شده است، فرم فاکتور SSD سازمانی و مرکز داده است. هدف EDSFF ارائه عملکرد و ظرفیت های بالاتر به سیستم های ذخیره سازی کلاس سازمانی است. شاید شناخته‌ شده‌ ترین نمونه فلش EDSFF، دستگاه‌های فلاش بلند E1.L و فلا ش کوتاه E1.S اینتل باشد که در ابتدا به عنوان فاکتور ” ruler  ” ارائه می‌شوند.

NVMe over Fabrics

NVM Express Inc. نسخه 1.0 مشخصات NVMe over Fabrics (NVMe-oF) را در 5 ژوئن 2016 منتشر کرد. NVMe-oF برای گسترش مزایای عملکرد بالا و latency کمترNVMe   سراسری ویک پارچه  شبکه طراحی شده است که سرورها و فضای ذخیره سازی را به هم متصل می کنند. مشخصات سیستم های NVMe-oF 1.1  که در سال 2019 منتشر شد، ارتباطات پارچه ای بهبود یافته، مدیریت منابع ورودی/خروجی دانه ریزتر و کنترل جریان و پشتیبانی از NVMe/TCP را ارائه می دهد. هر دو مشخصات همچنین تأخیر کمتر، مدیریت بهبود یافته و ارائه دسترسی فلش و ذخیره سازی از راه دور را ارائه می دهند.

Fabric transports NVMe-oF با استفاده از دسترسی مستقیم به حافظه از راه دور (RDMA) و NVMe-oF نگاشت شده به FC است. یک زیرگروه  فنی از NVM Express Inc. روی NVMe-oF با RDMA کار کرد، در حالی که کمیته T11 کمیته بین‌المللی استانداردهای فناوری اطلاعات (INCITS) NVMe را بر روی FC (FC-NVMe) توسعه داد.

NVMe over Fabrics

NVMe over Fabrics چگونه کار می کند

 مشخصات NVMe-oF تا حد زیادی با مشخصات NVMe یکسان است. یکی از تفاوت های اصلی آنها روش ارسال و دریافت دستورات و پاسخ ها است. NVMe برای استفاده local طراحی شده است و دستورات و پاسخ ها را به حافظه مشترک سرور از طریق PCIe نگاشت می کند. در مقابل، NVMe over Fabrics از یک سیستم مبتنی بر پیام برای برقراری ارتباط بین سرور یا رایانه میزبان و دستگاه ذخیره‌سازی هدف استفاده می‌کند.