NVME چیست؟
پردازنده (CPU) ها،حافظه های رم (RAM) و باس های ارتباطی به حدی سریع شده بودند که می توانستند برخی از مقادیر Data را به صورت فرکانس ارسال نمایند!تنها کافی بود که کمی Bus در محاسبات توان عبور خود اشتباه می کرد و آن وقت بود که اطلاعات با سرعتی بیشتر از سرعت نور ارسال شده و مقداری از آن نیز به فرکانس تبدیل می شد.
این آزمایشات تنها بر روی مقدار کمی از حجم اطلاعات انجام می گرفت.ذخیره سازهای مکانیکی دست و پای سیستم های رده بالای پردازشی را بسته بودند.پروتکل های SATA II و SATA III نیز با حداکثر سرعت های 3 و 6 گیگابیت در ثانیه،توان هندل این گلوگاه را نداشتند.هر چند که سرعت آنها به نسبت پورتهای ATA و به طور کلی مسیرهای سریال بهبود چشمگیری یافته بود،اما HDD ها در قسمتی از زندگی خود محدود به سرعت RPM خواندن/نوشتن اطلاعات بودند.از نظر تئوریک حتی اگر سرعت دور موتور پلاترها به 12000 دور در دقیقه نیز می رسید،باز هم هد ها قادر به نوشتن اطلاعات با سرعت بالا نبودند.AHCI پروتکل ارتباطی توافق و تائید شده استفاده از اینترفیس های ذکر شده بود.
AHCI در عمق دریافت و آدرس دهی دستورات،نسبتا سطحی عمل می کرد،این پروتکل از یک صف فرمان و 32 دستور در آن پشتیبانی می کند.این در حالی است که رابط NVME از 65535 صف و 65536 دستور در آنها به طور همزمان پشتیبانی می کنند.شاید از خود بپرسید پس به چه علت SSD های 2.5 اینچی عموما از این رابط بهره می برند؟دلیل آنکه این سالید ها عمدتا از اینترفیس ساتا در نسل سوم بهره می برند چیست؟در ابتدا به این سوال پاسخ داده و سپس به دنبال معرفی NVME می پردازیم.به واقع مشکل اصلی گلوگاه های پردازشی به ذخیره سازها باز می گشت.اما نه پروتکل،بلکه خود سخت افزار قدیمی و کند آنها.یک HDD در حداکثر سرعت های خود به نرخ 50~180 مگابایت در ثانیه می رسید.در نتیجه طراحی پروتکل های جدید در آن زمان بی فایده بود.جهان سخت افزار به سخت افزارهای جدید نیاز داشت که درایوهای سالید (SSD) پا به میدان گذاشتند.SSD ها نیازمند سازگاری با سیستم های قدیمی تر بودند.در نتیجه نسل اول آنها که در مدل های 2.5 اینچی معرفی شده بود،همگی به اینترفیس ساتا مجهز گشتند.
کامپیوترهایی که همچنان از اینترفیس به منظور ارتباط سالید ها استفاده می کنند،کم نیستند.اما به مرور زمان،گلوگاه پورت ساتا و پروتکل های AHCI نمایان شد.این مسیرها پاسخگوی سرعت بالای درایو های SSD نبودند.درایوهایی که قادر به فعالیت در سرعت های 250~550 مگابایت در ثانیه بودند.از سوی دیگر،کمپانی ها اینترفیس SATA Express را چندان جدی نمی گرفتند؛همانطور که امروزه در حال کمرنگ شدن در مادربردهای جدید است.در نتیجه،دنیا نیازمند یک پروتکل جدید بود که نه تنها پهنای باند را گسترش دهد،بلکه به طور همزمان یک مسیر جدید را به منظور استفاده از NAND ها فراهم سازد.NVME یا (NonVolatile Memory Express) تلفیقی از پروتکل و مسیر ارتباطی جدید بود.اگر از دانشجویان رشته های کامپیوتر باشید،می دانید که از گذشته تا کنون،اکثر پروتکل های ارتباطی حتی در سطح شبکه،به منظور پوشش یک گروه خاص از راه حل های ارتباطی-نقل و انتقال طراحی شده است.اما NVME جزو پروتکل هایی است که به همراه خود،یک رابط جدید را عرضه می کند.NVME حاصل همکاری برخی از معتبرترین کمپانی های جهان مانند اینتل،سامسونگ،مایکرون،مایکروسافت،اوراکل،PMC و…است.تعداد هیت مدیره کمپانی های ذکر شده به 13 عدد می رسد.اما رابطی که NVME معرفی کرده بود چه بود؟
PCI بله PCI.دو مسیر پر استفاده در اسلات های توسعه را می توان PCI 3.0 X16 و PCI 3.0 X8 دانست.در مسیر PCI-E 3.0 ما شاهد سرعت 7.877 گیگابایت در ثانیه برای لاین X8،و بیش از 15.5 گیگابایت در ثانیه نیز برای لاین X16 هستیم.اما مهمترین مسیر مورد نظر ما در HSIO های PCI،به واقع مسیر PCI 3.0 X4.0 است.این مسیر دارای پهنای باند 3.938 گیگابایت در ثانیه است که کاملا مناسب استفاده سالید های امروزی است.
نکته:در برخی از مادربردها،به منطور رسیدن به پهنای باند X16 و X8 کمپانی ها دست به ترکیب دو مسیر می زنند.به عنوان مثال با استفاده از ترکیب Bridge از دو X4،یک مسیر X8 را تولید می کنند.اسلات های PCI-E X1.6 به دلیل پهنای باند بسیار بالا،15.757 گیگابایت در ثانیه،به منظور استفاده کارت گرافیک و مواردی از این دست استفاده می شود.
پروتکل NVME دارای برخی ملزومات است که مهمترین رکن آن،استفاده از مسیر PCI-E است.اما عمده ترین HSIO مورد استفاده برای NVME،مسیر PCI-E 3.0 X4.0 است.این مسیر با سرعت حداکثر 3.938 گیگابایت در ثانیه،بهترین راه ارتباطی است.البته تنها ذخیره سازها نیستند که از این مسیر استفاده می کنند،حتی می توان برای اتصال کارت WI-FI نیز از آن استفاده کرد.در حال حاضر می توان به جرات گفت که اکثر اسلات های M.2 که بر اساس پروتکل NVME هستند،از مسیر PCI-E 3.0 X4 استفاده می کنند.اما NVME یک مزیت بزرگ دیگر را به همراه داشت.مسیرهای PCI به طور مستقیم به پردازشگر متصل هستند.در نتیجه چرخش پروسه بازخوانی،صف بندی،اختصاصی وقفه و…در آنها به حداقل رسیده و چند مرحله از این پروسه،به خودی خود حذف گشته است.سالید های NVME از مسیرهایی بهره می برند که به طور مستقیم آنها را پردازنده و سپس خروجی متصل می کند.NVME به کاهش دستورات به نسبت AHCI مجهز گشته است.کاهش دستوراتی که به منظور رد و بدل Data طراحی شده است،موجب کاهش Delay میگردد.علاوه بر آن،پیکربندی اطلاعات در NVME به گونه ای است که بهترین استفاده را از وقفه های CPU انجام می دهد.
پروتکل NVME با سیستم عامل های کروم،ویندوز،IOS،مک،برخی از توزیع های لینوکس و اندروید،سازگاری کامل دارد.اینتل یک رابط اختصاصی نرم افزاری (درایور) را به منظور سازگاری بهتر لینوکس با NVME عرضه کرده است.استفاده از این پروتکل در تجهیزات همراه نیز آغاز گشته است.به عنوان مثال اپل به عنوان کمپانی جهان،NVME را در حافظه های دستگاه قابل حمل نیز به خدمت گرفت.اما ریشه و کاربرد اصلی NVME به کلاس کامپیوتر دسکتاپ و لپ تاپ باز می گردد.جزئیات استاندارد NVME برای اولین بار در سال 2007 و به میزبانی اینتل مطرح شد.NVME پتانسیل لازم به منظور هندل حافظه های پر سرعت را برای سالهای سال داراست.اکنون کمپانی ها با خیال آسوده به دنبال تولید فناوری های مبتنی بر NAND هستند تا بدین ترتیب سرعت نهایی را افزایش دهند.از جمله این تحقیقات می توان به 3D-VNAND از سامسونگ و 3D XPoint از اینتل اشاره کرد.