کندی دیتابیس همیشه به رم یا پردازنده مربوط نمیشود. گاهی مشکل اصلی، سرعت پایین فضای ذخیرهسازی است. وقتی اطلاعات با تأخیر خوانده یا نوشته شوند، کل سرویس کند میشود؛ حتی اگر سرور رم و پردازنده قدرتمندی داشته باشد.
در چنین شرایطی، استفاده از NVMe میتواند سرعت دسترسی به اطلاعات را افزایش دهد. NVMe مخفف Non-Volatile Memory Express است. NVMe در واقع یک پروتکل ارتباطی برای حافظههای SSD است، نه یک نوع هارد معمولی.
حافظههای NVMe اطلاعات را از طریق مسیر PCIe منتقل میکنند. این مسیر پهنای باند بیشتری نسبت به SATA دارد و میتواند دادهها را با سرعت بالاتر و تأخیر کمتر جابهجا کند.
NVMe فقط به معنی «یک حافظه سریعتر» نیست. NVMe یک پروتکل ارتباطی است؛ یعنی مشخص میکند اطلاعات چگونه میان حافظه SSD و پردازنده جابهجا شوند. این پروتکل برای SSDها طراحی شده است و تلاش میکند محدودیتهایی را کنار بزند که از دوره هاردهای مکانیکی باقی ماندهاند.
در این مقاله از مجله اینترنتی تیوان سرور بررسی میکنیم هارد NVMe چیست. سپس تفاوت آن را با SSD، HDD، SATA و SAS توضیح میدهیم. در ادامه هم مزایا، محدودیتها و نکات مهم خرید هارد سرور HP را بررسی میکنیم.
NVMe چیست؟
NVMe مخفف Non-Volatile Memory Express است. عبارت Non-Volatile به حافظهای اشاره دارد که بعد از قطع برق نیز اطلاعات را نگه میدارد. بخش Express هم به ارتباط سریع این حافظه با سیستم اشاره میکند.
NVMe در اصل یک پروتکل برای حافظههای SSD است. این پروتکل معمولا از رابط PCIe استفاده میکند تا SSD بتواند با سرعت بیشتری با پردازنده در ارتباط باشد. در این روش، دادهها بدون عبور از بعضی کنترلرهای قدیمیتر میان حافظه و پردازنده منتقل میشوند. نتیجه این ارتباط مستقیمتر، تأخیر کمتر و سرعت بالاتر در خواندن و نوشتن اطلاعات است.
بنابراین وقتی در بازار از «هارد NVMe» صحبت میکنیم، منظور یک SSD است که از پروتکل NVMe استفاده میکند. از نظر فنی، بهتر است آن را SSD NVMe بنامیم؛ چون NVMe هارد مکانیکی نیست و قطعه متحرک ندارد.
چرا NVMe ساخته شد؟
رابطهایی مانند SATA و SAS زمانی شکل گرفتند که بیشتر کامپیوترها و سرورها از هاردهای مکانیکی استفاده میکردند. سرعت این هاردها به حرکت دیسک و هد خواندن وابسته بود. به همین دلیل، رابطهای قدیمی برای سرعت محدود یک هارد مکانیکی مشکل خاصی ایجاد نمیکردند.
با ورود SSD، شرایط تغییر کرد. حافظه فلش میتوانست اطلاعات را بسیار سریعتر بخواند، اما رابطهای قدیمی همچنان جلوی استفاده کامل از این سرعت را میگرفتند. به بیان ساده، SSD سریع بود ولی مسیر ارتباطی آن هنوز برای نسل قبلی تجهیزات ذخیرهسازی ساخته شده بود.
NVMe برای حل همین مشکل توسعه پیدا کرد. این پروتکل از ابتدا بر اساس ویژگیهای حافظه SSD، پردازندههای چند هستهای و پردازش همزمان درخواستها طراحی شده است. به همین دلیل، هماهنگی بیشتری با سختافزارهای امروزی دارد.
برای آشنایی بیشتر با رابطهای قدیمیتر، مطالعه مقالههای هارد SATA چیست و هارد SAS چیست کمک میکند تفاوت این فناوریها را بهتر بشناسید.
هارد NVMe چگونه کار میکند؟
برای درک عملکرد NVMe باید دو موضوع را در نظر بگیریم: مسیر ارتباط و تعداد درخواستهایی که حافظه میتواند همزمان پردازش کند.
در بیشتر SSDهای NVMe، ارتباط از طریق PCIe برقرار میشود. PCIe همان رابط پرسرعتی است که قطعاتی مانند کارت گرافیک نیز از آن استفاده میکنند. پهنای باند این رابط از SATA بیشتر است و در هر نسل نیز ظرفیت انتقال داده آن افزایش پیدا میکند.
موضوع دوم، صف فرمانهاست. سیستم هنگام خواندن یا ذخیره یک فایل، فرمانهایی را برای حافظه میفرستد. رابطهای قدیمی تعداد محدودی از این فرمانها را همزمان مدیریت میکنند. NVMe میتواند دهها هزار صف فرمان داشته باشد و در هر صف نیز تعداد زیادی فرمان قرار بگیرد.
این ساختار به NVMe اجازه میدهد چند درخواست را بهصورت موازی پیش ببرد. چنین قابلیتی بهخصوص در سرورها، پایگاههای داده و محیطهای مجازی اهمیت دارد؛ زیرا در این محیطها معمولا چند برنامه یا کاربر بهطور همزمان به فضای ذخیرهسازی دسترسی دارند.
آیا NVMe همان SSD است؟
NVMe و SSD دو مفهوم جدا هستند، هرچند معمولا در کنار یکدیگر قرار میگیرند.
SSD نوعی وسیله ذخیرهسازی است که اطلاعات را روی حافظه فلش نگه میدارد. NVMe پروتکلی است که روش ارتباط این وسیله با سیستم را تعیین میکند. در نتیجه، هر حافظه NVMe یک SSD است، اما هر SSD لزوما از NVMe استفاده نمیکند.
برای مثال، یک SSD میتواند از رابط SATA استفاده کند. این حافظه همچنان از هارد مکانیکی سریعتر است، اما محدودیت سرعت SATA را دارد. SSD دیگری ممکن است از NVMe و PCIe استفاده کند و بتواند حجم بیشتری از اطلاعات را در مدت کوتاهتری جابهجا کند.
هنگام بررسی انواع هارد سرور باید نوع حافظه، رابط ارتباطی و کاربرد آن را جداگانه در نظر بگیرید. صرف اینکه یک محصول SSD باشد، به این معنی نیست که از NVMe استفاده میکند.
تفاوت NVMe با SATA و SAS چیست؟
تفاوت اصلی NVMe با SATA و SAS به معماری و مسیر ارتباط آنها مربوط میشود.
SATA و SAS برای تجهیزات ذخیرهسازی قدیمیتر توسعه پیدا کردند. این رابطها هنوز هم کاربرد دارند و در بسیاری از کامپیوترها و سرورها استفاده میشوند، اما برای استفاده کامل از توان حافظه فلش ساخته نشدهاند.
NVMe از PCIe استفاده میکند و ارتباط مستقیمتری با پردازنده دارد. همچنین میتواند درخواستهای بیشتری را به شکل همزمان مدیریت کند. به همین دلیل در کارهایی که حجم زیادی از اطلاعات خوانده یا نوشته میشود، معمولا عملکرد بهتری دارد.
تفاوت NVMe با HDD چیست؟
HDD اطلاعات را روی صفحات مغناطیسی ذخیره میکند. برای خواندن اطلاعات، صفحات باید بچرخند و هد مکانیکی روی بخش مورد نظر قرار بگیرد. این فرایند مکانیکی باعث ایجاد تأخیر میشود.
SSD NVMe قطعه متحرک ندارد و اطلاعات را روی تراشههای حافظه فلش ذخیره میکند. به همین دلیل برای خواندن یک فایل یا اجرای تعداد زیادی درخواست کوچک، نیازی به حرکت فیزیکی قطعات نیست. نتیجه این ساختار، زمان دسترسی کمتر، صدای کمتر و مقاومت بیشتر در برابر لرزش و ضربه است.
تفاوت NVMe و HDD در عملیات تصادفی بیشتر دیده میشود. برای مثال، هنگام اجرای دیتابیس یا چند ماشین مجازی، سیستم باید به بخشهای مختلف حافظه دسترسی پیدا کند. HDD در چنین شرایطی به دلیل محدودیتهای مکانیکی نمیتواند تعداد زیادی درخواست را با سرعت بالا پاسخ دهد؛ اما NVMe برای پردازش همزمان این درخواستها طراحی شده است.
با این حال، HDD هنوز برای ذخیره حجم زیادی از اطلاعات، آرشیو فایل و تهیه بکاپ کاربرد دارد. در این کاربردها، ظرفیت و هزینه هر گیگابایت ممکن است از سرعت دسترسی مهمتر باشد.
مقایسه انواع فناوریهای ذخیرهسازی
| فناوری ذخیرهسازی | نوع حافظه | پروتکل ارتباطی | ویژگی اصلی | کاربرد معمول |
|---|---|---|---|---|
| HDD | دیسک مغناطیسی | SATA یا SAS | ظرفیت بالا و هزینه کمتر | آرشیو، بکاپ و ذخیره فایل |
| SSD SATA | حافظه فلش | SATA و AHCI | سریعتر از HDD، اما محدود به پهنای باند SATA | سیستمعامل و سرویسهای عمومی |
| SSD SAS | حافظه فلش | SAS و SCSI | مناسب زیرساختهای سروری مبتنی بر SAS | سرورها و ذخیرهسازهای سازمانی |
| SSD NVMe | حافظه فلش | NVMe و معمولا PCIe | تأخیر کمتر و پردازش موازی درخواستها | دیتابیس، مجازیسازی و پردازشهای سنگین |
آیا NVMe همان M.2 است؟
NVMe و M.2 یک مفهوم نیستند.
M.2 یک فرمفکتور است؛ یعنی شکل، اندازه و نوع اتصال فیزیکی قطعه را مشخص میکند. NVMe یک پروتکل ارتباطی است و نحوه جابهجایی فرمانها و اطلاعات را تعیین میکند.
یک SSD با فرمفکتور M.2 ممکن است از SATA استفاده کند یا از طریق PCIe و پروتکل NVMe کار کند. بنابراین صرف مشاهده عبارت M.2 روی یک محصول برای تشخیص NVMe بودن آن کافی نیست. باید مشخصات رابط و پروتکل محصول نیز بررسی شود.
این موضوع هنگام خرید اهمیت زیادی دارد. ممکن است یک سرور یا مادربرد اسلات M.2 داشته باشد، اما آن اسلات فقط از SATA پشتیبانی کند. همچنین احتمال دارد اسلات از PCIe پشتیبانی کند، اما تعداد Lane یا نسل آن با حداکثر توان SSD هماهنگ نباشد.
انواع فرمفکتور هارد NVMe
SSDهای NVMe فقط به شکل M.2 تولید نمیشوند. این حافظهها در فرمفکتورهای مختلفی عرضه میشوند که هر کدام برای محیط خاصی مناسب هستند.
NVMe M.2
M.2 یکی از رایجترین فرمفکتورها در لپتاپ، کامپیوتر رومیزی و بعضی سرورهاست. این حافظهها مستقیما روی مادربرد یا کارت توسعه نصب میشوند و فضای کمی اشغال میکنند.
اعدادی مانند 2280 در نام این محصولات، ابعاد آنها را مشخص میکنند. برای مثال، M.2 2280 دارای عرض 22 میلیمتر و طول 80 میلیمتر است.
در سرورها، M.2 معمولا برای نصب سیستمعامل، بوت سرور یا بعضی کاربردهای داخلی استفاده میشود. با این حال، قابلیت تعویض در حالت روشن، نوع RAID و تعداد اسلاتهای قابل استفاده به طراحی سرور بستگی دارد.
NVMe U.2 و U.3
U.2 و U.3 بیشتر در سرورها و دیتاسنترها دیده میشوند. این محصولات معمولا ظاهری شبیه SSDهای 2.5 اینچی دارند، اما از مسیر PCIe و پروتکل NVMe استفاده میکنند.
فرمفکتور U.2 یا U.3 میتواند برای سرورهایی مناسب باشد که به تعداد بیشتری درایو، خنکسازی بهتر و امکان دسترسی آسانتر از بخش جلوی شاسی نیاز دارند.
البته شباهت ظاهری یک NVMe U.2 یا U.3 با SSDهای SATA و SAS به معنی سازگاری آنها نیست. بکپلین، کابلها، کانکتورها و مسیر PCIe سرور باید از NVMe پشتیبانی کنند.
کارت توسعه PCIe یا AIC
بعضی SSDهای NVMe به شکل کارت توسعه ساخته میشوند و مستقیما در اسلات PCIe قرار میگیرند. این مدلها با نام Add-in Card یا AIC نیز شناخته میشوند.
استفاده از کارت توسعه ممکن است راه مناسبی برای اضافه کردن حافظه پرسرعت به بعضی سرورها باشد، اما باید فضای فیزیکی، تعداد Laneهای آزاد، توان مصرفی و وضعیت خنکسازی سرور بررسی شود.
فرمفکتور EDSFF
EDSFF مجموعهای از فرمفکتورهای جدیدتر است که برای سرورها و دیتاسنترها توسعه پیدا کرده است. این طراحیها میتوانند ظرفیت، خنکسازی و چگالی بیشتری نسبت به بعضی فرمفکتورهای قدیمی فراهم کنند.
بهطور کلی، NVMe میتواند در فرمفکتورهای M.2، U.2، U.3، AIC و EDSFF عرضه شود. انتخاب میان آنها باید بر اساس نوع دستگاه، فضای نصب، امکان Hot Plug و ساختار ذخیرهسازی سرور انجام شود.
کاربرد NVMe در سرور چیست؟
NVMe در سرورهایی بیشترین تأثیر را دارد که فضای ذخیرهسازی یکی از گلوگاههای اصلی آنهاست.
سرور دیتابیس
پایگاههای داده معمولا تعداد زیادی عملیات تصادفی انجام میدهند. کاهش تأخیر ذخیرهسازی میتواند زمان اجرای Query، ثبت تراکنش و دسترسی به فایلهای دیتابیس را کاهش دهد.
البته استفاده از NVMe بهتنهایی تمام مشکلات دیتابیس را حل نمیکند. ساختار ایندکسها، مقدار RAM، تنظیمات نرمافزار و نوع Query نیز روی نتیجه اثر دارند.
مجازیسازی
در محیط مجازی، چند ماشین مجازی از یک فضای ذخیرهسازی مشترک استفاده میکنند. این وضعیت باعث افزایش تعداد درخواستهای همزمان میشود.
معماری چندصفی NVMe میتواند به سرور کمک کند درخواستهای ماشینهای مجازی را سریعتر مدیریت کند. کاهش تأخیر ذخیرهسازی همچنین میتواند سرعت راهاندازی ماشینها و پاسخگویی برنامههای داخل آنها را بهبود دهد.
هاستینگ و فروشگاه اینترنتی
وبسایتهای پرترافیک، فروشگاههای اینترنتی و سامانههای آنلاین ممکن است بهطور مداوم اطلاعات کاربران، محصولات، سفارشها و نشستها را از دیتابیس بخوانند.
اگر فضای ذخیرهسازی کند باشد، افزایش رم و پردازنده همیشه مشکل را برطرف نمیکند. استفاده از NVMe میتواند زمان انتظار برای عملیات ذخیرهسازی را کاهش دهد.
هوش مصنوعی و تحلیل داده
پروژههای هوش مصنوعی، یادگیری ماشین و تحلیل کلانداده معمولا با مجموعهدادههای بزرگی کار میکنند. دسترسی سریعتر به دادهها میتواند زمان انتظار پردازنده یا شتابدهندهها برای دریافت اطلاعات را کاهش دهد.
پردازشهای DevOps
فرایندهایی مانند Build، اجرای تستها، ساخت کانتینر و راهاندازی محیطهای توسعه ممکن است تعداد زیادی فایل کوچک ایجاد یا پردازش کنند. عملکرد تصادفی و موازی NVMe میتواند زمان انجام این عملیات را کاهش دهد.
سخن پایانی
NVMe یک پروتکل ارتباطی برای حافظههای غیر فرار است که با هدف استفاده بهتر از توان SSDها توسعه پیدا کرده است. این پروتکل معمولا از PCIe استفاده میکند و در مقایسه با SATA و SAS میتواند پهنای باند بیشتر، تأخیر کمتر و پردازش موازیتری ارائه دهد.
هر حافظه NVMe یک SSD است، اما هر SSD از NVMe استفاده نمیکند. همچنین M.2 نام یک فرمفکتور است و نباید آن را مترادف NVMe دانست.
استفاده از NVMe در دیتابیس، مجازیسازی، هوش مصنوعی، تحلیل داده و سرویسهای پرترافیک میتواند عملکرد فضای ذخیرهسازی را بهبود دهد. با این حال، نتیجه واقعی به نوع بار کاری، مدل SSD، نسل PCIe و پیکربندی سرور بستگی دارد.
هنگام خرید هارد سرور HP باید مدل و نسل سرور، نوع بکپلین، رایزر، فرمفکتور، کلاس کاری درایو، خنکسازی و پشتیبانی RAID و Boot بررسی شود. خرید یک SSD NVMe بدون کنترل این موارد ممکن است به ناسازگاری یا استفاده نشدن از حداکثر توان حافظه منجر شود.
سوالات متداول درباره هارد NVMe
هارد NVMe چیست؟
در بازار هارد NVMe را یک SSD میشناسند که از پروتکل NVMe استفاده میکند. این حافظه معمولا از طریق PCIe با سیستم ارتباط برقرار میکند و قطعه متحرک ندارد.
آیا NVMe از SSD سریعتر است؟
این مقایسه از نظر فنی دقیق نیست؛ زیرا NVMe خود نوعی SSD است. منظور از این سوال معمولا مقایسه SSD NVMe با SSD SATA است. NVMe به دلیل استفاده از PCIe و صفهای متعدد معمولا عملکرد بالاتری نسبت به SSD SATA دارد.
آیا هر حافظه M.2 یک NVMe است؟
خیر. M.2 فرمفکتور حافظه است. یک SSD M.2 ممکن است از SATA یا PCIe و NVMe استفاده کند. مشخصات محصول و نوع اسلات دستگاه باید بررسی شود.
آیا NVMe روی هر سرور HP نصب میشود؟
خیر. پشتیبانی به مدل، نسل، شاسی، بکپلین، رایزر، کابلها و Firmware سرور بستگی دارد. پیش از خرید باید QuickSpecs و قطعات نصبشده روی همان سرور بررسی شوند.
آیا برای NVMe به RAID Controller نیاز داریم؟
لزوما خیر. بعضی NVMeها مستقیما از طریق PCIe به سیستم متصل میشوند. نوع RAID قابل استفاده به معماری سرور و پشتیبانی سختافزاری یا نرمافزاری آن بستگی دارد.
آیا میتوان سیستمعامل را روی NVMe نصب کرد؟
در بسیاری از سیستمها بله، اما قابلیت Boot باید توسط UEFI، Firmware، اسلات و مدل سرور پشتیبانی شود. در سرورهای قدیمیتر یا برخی پیکربندیها ممکن است محدودیت وجود داشته باشد.
آیا NVMe برای دیتابیس مناسب است؟
بله، بهخصوص زمانی که سرعت ذخیرهسازی و تعداد عملیات ورودی و خروجی گلوگاه دیتابیس باشد. NVMe میتواند تأخیر دسترسی و زمان انتظار عملیات I/O را کاهش دهد.
NVMe برای بکاپ بهتر است یا HDD؟
اگر سرعت تهیه یا بازیابی بکاپ اهمیت زیادی داشته باشد، NVMe میتواند مفید باشد. اما برای نگهداری طولانیمدت حجم زیادی از اطلاعات، HDD معمولا از نظر هزینه ظرفیت انتخاب اقتصادیتری است.
مهمترین نکته هنگام خرید NVMe سرور چیست؟
مهمترین نکته، سازگاری کامل با سرور است. مدل درایو، فرمفکتور، بکپلین، رایزر، نسل PCIe، نوع بار کاری، عمر نوشتاری و پشتیبانی RAID و Boot باید پیش از خرید بررسی شوند.
سرور HPE G10
سرور HPE G10 Plus

















