هارد سرور در افزایش سرعت سرور و شبکه و کامپیوتر نقش مهمی دارد. در همین راستا توجه شرکتهای تولیدکننده قطعات کامپیوتری، به افزایش سرعت حافظههای ذخیرهسازی معطوف بوده است و یکی از جدیدترین تکنولوژیها در این عرصه هارد nvme است. در این مطلب با این تکنولوژی بیشتر آشنا میشویم. با توسعه شبکه آداکهمراه باشید.
- هارد nvme چیست؟
- تفاوتهای هارد nvme ssd با هاردهای قدیمی
- کاربرد هارد nvme
- مزایای nvme
- معایب هارد nvme
- انواع هارد های nvme
- m2 nvme چیست؟
- حافظه pcie nvme چیست؟
- تاریخچه هارد nvme
- nvme چگونه کار میکند؟
- عملکرد تکنولوژی nvme در صفهای ورودی و خروجی
- مقایسه سرعت nvme با هاردهای دیگر
هارد nvme چیست؟
استفاده از تکنولوژی nvme در ساخت هاردها باعث افزایش بسیار زیاد سرعت هارد شده شده است. بعد از ورود حافظههای ssd به بازار، کاربران توانستند سرعت بالای ذخیرهسازی دادهها و اجرای برنامهها را تجربه کنند. اتفاقی که با هاردهای معمولی امکانپذیر نبود. اولین هاردهای ssd با رابط sata به سیستمهای کامپیوتری متصل میشدند که حداکثر سرعت در آن به ۶ گیگابیت در ثانیه و در استاندارد ۳.۳ از این تکنولوژی، به ۱۶ گیگابیت در ثانیه میرسید. این سرعت نسبت به هاردهای معمولی سرعت بسیار بالایی محسوب میشد اما ظرفیت تکنولوژی ssd سرعتی به مراتب بالاتر از این بود.
nvme مخفف چیست؟ nvme مخفف nonvolatile memory express و معادل فارسی آن «حافظهی پرسرعت غیر فرّار» است. به زبان ساده، nvme پروتکلی در زمینه رابط حافظههای ssd است، برای رسانههای حافظه غیر فرار (NAND) طراحی شده است و مستقیماً از طریق رابط PCIe به CPU وصل میشود. nvme با قابلیت اتصال روی PCIe میتواند سرعتی دو برابر سرعت رابط SATA ارائه دهد.
فناوری هاردهای nvme به گونهایست که سیستمهای میزبان یا host بتوانند از حداکثر توان هاردهای ssd در موازیسازی استفاده کنند. اتصال از طریق pcie باعث میشود هاردهای nvme سرعتی ۵ تا ۶ برابر سرعت هاردهای SSD معمولی داشته باشند.
تفاوتهای هارد nvme ssd با هاردهای قدیمی
از تفاوتهای مهمی که در تکنولوژی nvme نسبت به هاردهایی با فناوری گذشته وجود دارد، تفاوت در تکنولوژی ساخت و نحوهی ارتباط با CPU است. تکنولوژی ساخت سیستمهای قدیمی بر پایهی Spinning Disk طراحی شده بود که بخشهای مکانیکی زیادی را درگیر رسیدن به نقطهی Read یا Write میکرد و همین قطعات مکانیکی موجب کاهش سرعت هارد میشدند. اما هارد nvme از تکنولوژی Flash بهره میبرد که بر پایهی قطعات الکترونیکیست و تاثیر چشمگیری بر افزایش سرعت این هاردها دارد.
هاردهای قدیمی به واسطهی SATA Controller با پردازنده در ارتباط بودند اما حافظه داخلی nvme بدون واسط و مستقیما با CPU در ارتباط هستند که این امر سرعت عمل بیشتری را در پی دارد. به دلیل استفاده از چنین مکانیزمهایی، سرعت رسیدگی به دستورات در تکنولوژی nvme، به مراتب بیشتر از sata hdd و sata ssd است.
همچنین در هارد nvme m2، مشکلاتی نظیر «وقفه»، «فشار سربار» و گلوگاه – Bottlenecking شدیدا کاهش پیدا کرده است. (Bottlenecking یعنی سختافزارهای یک کامپیوتر با هم تطابق نداشته باشند. این عدم تطابق بر عملکرد نهایی سیستم تاثیر منفی میگذارد.)
کاربرد هارد nvme
یکی از اصلیترین کاربردهای هارد های nvme استفاده از آنها در سرورها خصوصا سرورهایی با دیتابیسهای سنگین است.
سرعت بالای بارگذاری در قسمتهای مختلف یک وبسایت، دغدغهی اصلی صاحبان سایتها و کاربران آنهاست. این مسئله به حدی مهم است که به یکی از المانهای نمرهدهی گوگل به سئوی سایتها بدل شده است. بنابراین استفاده از هاردهایی که بتوانند با سرعت بالا اطلاعات و بخشهای مختلف یک وبسایت را آنالیز کنند ضروریست و هارد nvme m2 عملکرد کمنقصی در این زمینه از خود به نمایش میگذارند. مخصوصا به این دلیل که سیستم Cachingدر این هاردها نسبت به سایر هاردها به شدت بهبود یافته و دسترسی به دیتابیسهای بزرگ را تسهیل میکند.
یکی دیگر از کاربردهای هارد nvme، استفاده از آن در سیستمهای Real Time یا بلادرنگ نظیر امور مالی، تجارت الکترونیک، بخشهای نظامی و… است. از آنجا که این سیستمها از حساسیتهای بالایی برخوردارند، سرعت عمل در آنها نقشی حیاتی ایفا میکند و استفاده از هارد nvme توانسته به خوبی پاسخگوی این نیاز باشد.
هارد nvme در هوش مصنوعی(AI)، یادگیری ماشین (ML)، برنامههای تحلیلی پیشرفته و همچنین سیستمهای DevOps استفاده میشود. DevOps ها ترکیبی از بخشهای Software Development و IT Operations هستند که هدفشان همکاری با یکدیگر به منظور انتقال سریع نرمافزار از مرحلهی «توسعه» به مرحلهی «عملیات» است.
هاردهای nvme در بهبود عملکرد کسب و کارها نیز موثر هستند. شرکتهای امروزی با استفاده از اطلاعات، به آنالیز و بررسی رفتار مشتریان میپردازند تا کیفیت محصولات و خدمات خود را افزایش دهند. افزایش حجم اطلاعات یکی از چالشهاییست که شرکتها با آن مواجه هستند زیرا دسترسی و پردازش این حجم از اطلاعات به سرعت بسیار بالایی نیاز دارد. حتی هاردهای SSD معمولی که نسبت به نسلهای پیش از خود از سرعت بسیار بالایی برخوردار هستند، در مواجهه با این حجم از داده، با چالش مواجه میشوند.
هاردهای NVMe و تکنولوژی به کار رفته در آنها، پردازش این دادهها را تسهیل کرده و آنها را با سرعت بالایی انجام میدهند. از نظر فنی، NVMe تنها تکنولوژیای است که برای اکوسیستمهایی با دادههای سازمانی، ابری و Edge مناسب است.
مزایای هارد nvme
از مزایای مهم هارد nvme بهبود سرعت ورودی و خروجی و کاهش زمان تاخیر است. زمان تاخیر شاخصهای است که نشان میدهد چه مدت زمانی طول میکشد تا یک هارد به یک دستور واکنش نشان دهد. کاهش این زمان تاثیر مستقیمی روی بالا رفتن سرعت هارد و سیستم خواهد گذاشت.
مهمترین مزیت حافظه های nvme سرعت بالای آنهاست که از فناوری ساخت آن نشأت میگیرد. فناوری به کار رفته در این هاردها نسبت به نسلهای قبلی وسایل ذخیرهسازی بهبودهای قابل توجهی پیدا کرده است از جمله:
- استفاده از تکنولوژی Flash به جای Spinning Disk
- استفاده از مسیر PCIe به جای SATA
- افزایش چشمگیر تعداد صفهای ورودی و خروجی (I/O)
- بهبود تکنیک Caching در حافظه های nvme.
Caching فرآیندیست که طی آن یک کپی از دادهها بهشکل موقت در قسمتی از هارد ذخیره میشوند تا سرعت دسترسی به دادهها افزایش یابد و هارد مجبور نباشد برای دسترسی به داده، به آدرس اصلی داده مراجعه کند.
این بهبودها در تکنولوژی ساخت حافظه داخلی nvme، سبب برتری این هاردها نسبت به هاردهای نسل قبل شده چرا که حافظه nvme، انرژی و زمان کمتری برای انجام Taskها مصرف میکند، سرعت بالاتری در دسترسی به CPU دارد و میتواند از ظرفیت هستههای چندگانهی CPU استفاده کرده و فرامین دریافتی را به صورت موازی اجرا کند.
برای مثال سرعت MacBook pro که در آن از nvme ssd استفاده شده به شکل قابل توجهی بیشتر از نسل های پیش است. این سرعت خصوصا هنگام اجرای نرم افزارهای سنگین به خوبی خود را نشان میدهد.
اولین SSD های مبتنی بر فلش، از رابط های فیزیکی SATA/SAS قدیمی، پروتکلها و فورم فاکتورها استفاده میکردند. فناوری nand زمینهساز سرعت بالا در هاردهای ssd بود اما رابط sata توانایی استفاده از تمام ویژگیهای این فناوری را نداشت. استفاده از رابط pcie سبب شد محدودیتهای گذرگاههای sata رفع شده و تکنولوژی nand به تکامل برسد. هاردهای nvme از مسیرهای داده موازی با سرعت تاخیر پایین استفاده میکنند و معماری آنها شباهت زیادی به پردازندههای high performance دارد.
با این حال، هیچ یک از این رابط ها و پروتکل ها برای رسانه های ذخیره سازی با سرعت بالا (مانند NAND و/یا حافظه پایدار) طراحی نشدهاند. به دلایلی مانند سرعت رابط، عملکرد رسانه ذخیره سازی و نزدیکی به CPU از PCI Express (PCIe) به عنوان رابط ذخیره سازی نسل بعدی استفاده شد.
اسلات های PCIe مستقیماً به CPU متصل میشوند و میتوانند به شکلی کارآمد یک دسته نرم افزار را اجرا کنند. با این حال، SSD های اولیه با رابط PCIe، استانداردهای صنعتی و ویژگی های سازمانی را نداشتند. SSD های PCIe از فریمور (firmware) اختصاصی استفاده میکردند که به دلایل مختلف برای مقیاسپذیری سیستم چالش برانگیز بود. موارد زیر برخی از این چالشها بودند:
- اجرا و نگهداری فریمور دستگاه
- ناسازگاری فریمور دستگاه با نرم افزارهای مختلف سیستم
- عدم استفاده بهینه از خطوط موجود و مزیت نزدیکی به CPU
سرعت بالای این هاردها برای همه کاربران ضروری نیست و استفاده از هارد nvme ssd ارتباط مستقیمی با نیاز کاربران دارد. به طور مثل بهترین کاربری این هاردها در سرورها، کامپیوترهای حرفهای گیمینگ و ادیت ویدئوست.
حضور این قطعات در سرورها میتواند به افزایش سرعت وبسایت ها و در نتیجه کسب امتیاز بیشتر از موتورهای جست و جوی گوگل منجر شود. همچنین هاردهای nvme در پردازش دیتابیس های سنگین نیز کاربرد ویژه ای دارند و میتوانند با نهایت سرعت به پردازش این داده ها بپردازند.
برخی کاربران از این هاردها برای نصب سیستم عامل استفاده می کنند که به افزایش چشمگیر سرعت سیستم می انجامد اما باید توجه کرد که نصب سیستم عامل روی این هاردها، نیازمند پشتیبانی بایاس سیستم از استاندارد nvme است و نمیتوان در همهی سیستمها از این روش استفاده کرد.
عملکرد هارد nvme در پردازندههای چند هستهای
NVMe یک پروتکل بهینه شده NUMA است. این تکنولوژی به هستههای چندگانهی CPU اجازه میدهد تا مالکیت صفها، اولویت آنها و همچنین مکانیسمهای داوری این اولویتها را با یکدیگر به اشتراک بگذارند. به این ترتیب NVMe میتواند تکنیک scatter/gather را بر روی ورودیها و خروجیها اجرا کرده و آنها را خارج از نوبت پردازش کند تا IOPS (ورودی/خروجی بر ثانیه) بسیار بالاتر رفته و تاخیر داده کمتری رخ دهد. اتفاقی که به استفادهی بهینه از پردازندههای چند هستهای منجر میشود.
معایب هارد nvme
از معایب nvme میتوان به عدم پشتیبانی از این فناوری در سیستمهای قدیمی اشاره کرد. این فناوری در مادربردهای قدیمی قابل استفاده نیست و با توجه به افزایش قیمت قطعات کامپیوتری، بهبود و بهروزرسانی سختافزار کامپیوتر عملی نسبتا پرهزینه است.
هزینهی ذخیرهی اطلاعات روی هارد nvme m2 زیاد است و بهطور کلی ذخیرهی اطلاعات سنگین روی هاردهای قدیمی که قیمت پایینتری دارند مقرون به صرفهتر از هارد nvme است.
انواع هارد های nvme
فورم فاکتورهای حافظههای nvme ssd مجموعهای از استانداردهاست که توسط تیمی متشکل از چند کمپانی مدیریت و پشتیبانی میشود. مهمترین مدلهای nvme شامل موارد زیر است:
- m.2
- pcie
- u.2
- u.3
m2 nvme چیست؟
فرمفاکتورهای m2 بیست و دو میلیمتر عرض دارند و در طولهای متفاوتی از جمله ۳۰، ۴۲، ۶۰، ۸۰ و ۱۰۰ میلیمتری عرضه میشوند. البته بعضی از انواع ssd ها هم در همین فرم عرضه میشوند و نباید آنها را با حافظه های nvme اشتباه گرفت. اگر قصد دارید برای ارتقای سیستم از هاردهای m.2 استفاده کنید، حتما به قابلیتهای مادربورد سیستمتان توجه کنید. استفاده از m.2 nvme تنها در مادربوردهایی ممکن است که از اسلات nvme پشتیبانی میکنند. اسلات برخی از مادربوردها فقط از تکنولوژی sata پشتیبانی میکند و نمیتوان در آنها از هارد nvme استفاده کرد.
پیشنهاد میکنیم برای درک بهتر تفاوت ssd و m2 nvme مقالهی “تفاوت هارد ssd با m2 چیست؟“را مطالعه کنید. در تصویر زیر نمونهای از هاردهای m2 nvme را مشاهده میکنید.
حافظه pcie nvme چیست؟
نوع دیگر هارد های nvme، فورمفاکتور pcie 3.0 است. ظاهر این مدل از هارد nvme، شبیه به کارتهای گرافیک است که در شکافهای pcie 3.0 مادربورد جایگذاری میشوند. این هاردها برای استفاده در لپتاپها و یا کامپیوترهای کوچک طراحی نشدهاند و در کیسهای بزرگ، ATX و سرورها مورد استفاده قرار میگیرند. در تصویر زیر نمونهای از این هاردها را مشاهده میکنید.
دقت کنید که مانند هاردهای nvme m.2، هاردهای nvme pcie برای نصب روی همه مادربوردها طراحی نشده اند و برای استفاده از آنها به مادربورد مناسب احتیاج دارید.
هارد nvme ssd مدل u.2
نام دیگر این فورم فاکتور، SFF-8639 است و به دلیل اندازه بزرگتر نسبت به فورم فاکتور M.2، معمولا ظرفیت بیشتری از لحاظ حجم ذخیره اطلاعات دارد. در گذشته این هاردها منحصراً در ورک استیشنهای پیشرفته و مادربردهای سرور و استوریج کاربرد داشتند، اما با چیپستهایی که در سالهای اخیر عرضه شده، این هاردها کاربردهای تازهای پیدا کردهاند. فورمفاکتور u2 شباهت بیشتری به هاردهای قدیمی دارد.
هارد nvme ssd مدل u.3
نوع دیگر هارد nvme فورمفاکتور u3 نام دارد. این مدل بر اساس فورمفاکتور u2 توسعه داده شده است و از همان کانکتور SFF-8639 استفاده میکند. این فورم فاکتور از SAS ،SATA و NVMe در یک کنترلر پشتیبانی میکند. حافظههای u3 با U.2 سازگار هستند و میتوان از آنها در بستر u2 استفاده کرد اما عکس این قضیه صادق نیست و استفاده از حافظههای u2 روی بستر حافظههای u3 امکانپذیر نیست.
تاریخچه هارد nvme
در سالهای اخیر پیشرفتهای زیادی در تکنولوژی ساخت CPUها اتفاق افتاد که به افزایش سرعت این قطعات منجر شد اما به دلیل ضعف سایر قطعات سیستمهای کامپیوتری، خصوصا دستگاههای ذخیره سازی، امکان استفاده از تمام توان CPUها وجود نداشت. در چنین شرایطی فناوری nvme طراحی و عرضه شد که یک پروتکل ارتباطی برای حافظههای کامپیوتریست که قطعات اضافی ارتباطی مانند کابل را حذف کرده و مستقیما به مادربورد سیستم متصل میشود. ایده اولیه استفاده از این فناوری در سال ۲۰۰۷ عمومی شد. در سال ۲۰۰۹ و با مشارکت شرکتهای بزرگی مثل اینتل، سامسونگ، سیگیت و چندین غول سخت افزاری و نرم افزاری دیگر، امور مرتبط با توسعه این فناوری به شکل رسمی آغاز شد.
در سال ۲۰۱۱ نسخه nvme 1.0 روانه بازار شد و در نسخه بعدی یعنی nvme 1.1 پشتیبانی از هاردهای ssd با چند اسلات pcie به فناوری قبلی اضافه شد. نسخههای بعدی این تکنولوژی در سالهای ۲۰۱۴ و ۲۰۱۷ عرضه شد که با فریمور جدید و تغییراتی در پاکسازی بلاکهای لول پایین همراه بود. آخرین نسل از این تکنولوژی در تاریخ سوم June 2021 عرضه شده است.
هارد NVMe چگونه کار میکند؟
هارد m.2 nvme بدون واسطه به مادربورد کامپیوتر متصل میشود و به همین دلیل سرعت بالاتری نسبت به سایر هاردهای ذخیرهسازی دارد. اما نحوهی عملکرد این تکنولوژی چگونه است؟
NVMe برای «صف ارسال و تکمیل» از همان مکانیزم مورد استفاده در فناوری ssd بهره میبرد اما تعداد صفهای بسیار بیشتری دارد. نرم افزار میزبان، queue یا صفِ جریان دادههای ssd را مدیریت و کنترل میکند، صفهای جداگانهای ایجاد و حذف میکند، دستورات را لغو میکند و…
یک کامپیوتر با چهار هسته ممکن است دارای چهار جفت صف باشد تا اطمینان حاصل شود که ساختارهای داده در حافظهی پنهان هستهی مربوطه نگهداری میشوند (شکل زیر را ببینید). تکنولوژی nvme از چندین صف عمیق و مستقل پشتیبانی میکند.
عملکرد تکنولوژی nvme در صفهای ورودی و خروجی
NVMe میتواند از چندین صف ورودی/خروجی (تا ۶۴ هزار صف) پشتیبانی کند که هر صف دارای ۶۴ هزار ورودی است. تکنولوژیهای قدیمیتر مثل SAS و SATA فقط صفهای تکی را پشتیبانی میکنند. به طوری که هر کدام به ترتیب میتوانند ۲۵۴ و ۳۲ ورودی داشته باشند. نرمافزار میزبان NVMe طبق پیکربندی سیستم و حجم کاری مورد انتظار، این توانایی را دارد که صفهایی را تا حداکثرِ توان مجاز توسط کنترلر NVMe ایجاد کند.
از ویژگیهای مهم NVMe پشتیبانی از تکنولوژی scatter/gather I/O است. این فناوری یک نوع روش انجام عمل I/O است که در آن با یک بار فراخوانی کردن یک روال خواندن/نوشتن، چندین بافر به صورت متوالی و پشت سر هم در یک جریان داده نوشته یا از آن خوانده میشوند؛ این امر به سرعت بیشتر ورودیهای I/O میانجامد.
قابلیت دیگر nvme به حداقل رساندن سربار CPU در انتقال دادههاست. فناوری NVMe همچنین این ویژگی را دارد که اولویت سربارها را بر اساس نیازهای بار کاری تغییر دهد. تمام این ویژگیها به دلیل معماری خاص هاردهای nvme امکانپذیر شده است. در ادامه به مقایسهی سرعت در هاردهای مختلف خواهیم پرداخت.
مقایسه سرعت nvme با هاردهای دیگر
مهمترین ویژگی NVMe سرعت بالای آن و قابلیتهای آن در حوزههاییست که هاردهای معمولی توانایی فعالیت در آن زمینهها را ندارند. در نمودار زیر میتوانید سرعت انتقال داده در این سه فناوری را مشاهده کنید.
کلمهی RPM مخفف عبارت Revolutions Per Minute است که سرعت چرخش دیسک در هر دقیقه را نشان میدهد. به طور مثال هاردی که در این مقایسه مورد بررسی قرار گرفته هاردیست که در هر دقیقه ۷۲۰۰ بار چرخش دیسک دارد.
همانطور که میبینید سرعت انتقال اطلاعات در هاردهای RPM 7200 که نوعی از هاردهای ذخیرهسازی هستند، برابر است با ۲۰۰ MB در ثانیه. این سرعت در هاردهای SATA 3 SSD به ۶۰۰ MB در ثانیه میرسد اما در هارد های nvme به ۲ هزار و ۴۰۰ MB در ثانیه میرسد. به عبارت دیگر سرعت هارد nvme چهار برابر هاردهای SATA 3 SSD و ۱۲ برابر هاردهای RPM 7200 است.
این تفاوت سرعت در هاردها، در سرعت لاگین سیستم عامل، اجرای برنامهها، کپی کردن فایلها، اجرای دستورات سنگین در نرمافزارهای مختلف و… به وضوح قابل مشاهده است.
Seek Time یا «زمان جستجو» در هارد دیسکها مقدار زمانیست که طول میکشد تا مجموعهی هدهای دیسک که برای خواندن/نوشتنِ (Read/Write) دادهها استفاده میشوند، به همراه بازوی محرک دیسک (جایی که هِدهای دیسک متصل هستند) در مکان مناسب قرار گیرند؛ یعنی دقیقا در جایی که دادهها ذخیره میشوند. به گونهای که دادهها را در بخش خاصی از دیسک بخوانند یا بنویسند.
در نمودار زیر مدت زمان Seek Time در هاردهای مختلف با یکدیگر مقایسه شدهاند. همانطور که میبینید Seek Time در هاردهای SATA معمولی تقریبا برابر است با ۲ میلیثانیه، در هاردهای SSD این مدت زمان به ۲ دهم میلیثانیه میرسد اما در حافظه های nvme سرعت Seek Time برابر صفر است. هارد nvme m2 و هارد ssd نیازی به صرف زمان برای رسیدن هد و بازوی مکانیکی به نقطهی Read یا Write ندارد و چون nvme به CPU دسترسی مستقیم دارد سیک تایم آن نزدیک به صفر است.
”
}
}]
}