nvme چیست و مقایسه آن با ssd
اگر فکر میکنید SSD ها سریعترین ابزار ذخیرهسازی داده هستند و هیچ تکنولوژی سریعتری وجود ندارد، سخت در اشتباهید! NVMe یک پروتکل نرم افزاری است که با هدف تسریع عملکرد درایوهای حالت جامد معرفی شده و طی مدتزمان کوتاه توانسته نظر بسیاری از کاربران سازمانی را جلب کند. اما NVMe چیست؟ یک پروتکل دسترسی به ذخیرهسازی و انتقال برای رسانههای ذخیرهسازی مبتنی بر فلش که پیشرفت قابل توجهی نسبت به SATA، استاندارد ذخیرهسازی قبلی دارد.
اگر مشتاقید بدانید این رابط منطقی چطور کار میکند، در چه انواعی روانه بازار میشود، چه مزیتهایی دارد و فرقش با SSD چیست، پیشنهاد میکنیم تا آخر این مقاله همراه ما باشید.
NVMe چیست؟
NVMe مخفف عبارت nonvolatile memory express است. به معنی «رابط کنترلکنندهی میزبان حافظه غیرفرار». شاید در نگاه اول برای گوش و چشمتان کمی عجیب بهنظر برسد. اما مطمئنیم تا پایان مقاله این مفهوم را بهتر درک میکنید.
NVMe یک پروتکل ذخیرهسازی ارزشمند و مقیاسپذیر است که برای سرعت بخشیدن به انتقال دادهها بین سیستمهای سازمانی، مشتریان و سیستمهای حافظه فلش مانند هاردهای SSD طراحی شده است. یعنی در عمل یک رابط منطقی با رسانههای فلش است و روی ویژگیهای عملکرد حیاتی SSD ها مثل پهنای باند بالا، تاخیر کم و موازیسازی داخلی تمرکز میکند. این پروتکل برای دسترسی به حافظه غیریکنواخت طراحی شده و حافظه غیر فرار را مستقیما از طریق یک رابط PCIe به CPU متصل میکند.
جالب است بدانید این پیکربندی سرعت انتقال را تا ۳۲ گیگابایت در ثانیه بالا میبرد. برای درک بهتر میتوانید این عدد را با حافظههای SATA و SAS مقایسه کنید که به ترتیب حداکثر ۶ و ۱۲ گیگابایت بر ثانیه سرعت دارند.
نگاهی کوتاه به تاریخچه NVMe
قبل از آنکه به جزئیات بیشتر این رابط منطقی بپردازیم، بد نیست بینیم تاریخچه و سیر تکامل nvme چیست و از کجا شکل گرفته است.
در سال ۲۰۰۷ در پی افزایش حجم داده و تقاضای بازار برای دسترسی سریعتر به دادهها و افزایش سرعت انتقال، توسعه NVMe کلید خورد. کارگروهی به رهبری اینتل این پروژه را در دست گرفت و اولین پروتکل NVMe در اوایل سال ۲۰۰۸ روی وبسایت اینتل بارگزاری شد. کار فنی مورد نیاز برای راه اندازی این استاندارد جدید در سال ۲۰۰۹ آغاز گشته و توسط کارگروه NVM Express به انجام رسید.
از سال ۲۰۱۲ چیپستهای NVMe به صورت تجاری دردسترس عموم قرار گرفته و با فناوری IC به بازار عرضه میشوند. در سال ۲۰۱۳ سامسونگ درایو سازمانی جدیدی راهاندازی کرد که از استاندارد NVMe پشتیبانی میکرد و شش برابر سریعتر از فناوریهای قبلی بود. تا سال ۲۰۱۴ درایوهای NVMe به طور گسترده در دسترس بودند.
در حال حاضر نسل بعدی NVMe در دست توسعه است. در این توسعه سایر فناوریهای مرتبط مانند NVMeOF (NVMe over Fabrics) دسترسی متمرکز و مشترک به دیسک NVMe از طریق شبکه امکانپذیر میشود تا سازمان بتواند به بهترین شکل از منابع استفاده کند.
اهمیت پروتکل NVMe برای کسب و کارها
سیستمهای سازمانی همیشه با مشکلات مرتبط با ذخیرهسازی حجم زیاد داده و سرعت انتقال پایین دست و پنجه نرم کردهاند. شاید بزرگ ترین اهمیت پروتکل NVMe همین باشد که مدیریت حافظه هوشمندتر و انعطاف پذیرتر را امکانپذیر کرده است. ویژگیهای NVMe به تیمهای توسعه فناوری کمک میکنند تا چالشهای زیرساخت سنتی را حل کنند. میپرسید چه چالشهایی؟
یکی از مهمترین آنها مصرف چرخههای CPU است. NVMe در مقایسه با SAS یا SATA چرخههای CPU کمتری مصرف میکند و حداکثر بازدهی را بههمراه دارد.
NVMe را می توان به طور گسترده در مراکز داده استفاده کرد چون نیازمندیهای حساس به زمان در یک محیط محاسباتی با کارایی بالا، فضای ابری، مراکز داده پورتال و غیره را بهخوبی برآورده میکند.
سازمانهایی که پلتفرمهای پایگاه داده رابطهای Big Data و OLTP را به کار میگیرند، باید بتوانند بارهای کاری را در مقیاس گسترده مدیریت کنند. NVMe این امکان را به شما میدهد تا تصمیمهای سریع و بیدرنگ مبتنی بر دادهها را اتخاذ کنید. حتی میتوانید برای پشتیبانگیری یا تکثیر دادهها از آن استفاده کنید.
با توجه به این مزایا، عجیب نیست که NVMe چشم اندازهای بی حد و حصری در صنعت خودرو، ارتباطات، پزشکی، صنعتی، بازی، سرگرمی، حمل و نقل هوایی تجاری و غیره ارائه میکند.
معماری NVMe
و اما بپردازیم به اینکه اساس کار nvme چیست و معماری آن به چه صورت است.
بیایید با نگاهی عمیقتر به معماری NVMe، نحوه دستیابی به عملکرد بالا و تأخیر کم توسط آن را بهتر درک کنیم. NVMe میتواند چندین صف ورودی و خروجی (تا ۶۴ هزار تا) داشته باشد که هر کدام ۶۴ هزار ورودی را پشتیبانی میکنند. در حالی که SAS و SATA قدیمی فقط از صفهای تکی پشتیبانی میکنند و میتوانند به ترتیب ۲۵۴ و ۳۲ ورودی داشته باشند. نرمافزار میزبان NVMe میتواند تا آنجا که کنترلر اجاره میدهد و طبق پیکربندی سیستم و حجم کاری مورد انتظار، صف بسازد. بهعلاوه از پراکندگی و جمعآوری دادههای ورودی خروجی پشتیبانی میکند، سربار CPU در انتقال دادهها را به حداقل میرساند و حتی قابلیت تغییر اولویت دادهها را بر اساس نیازهای بار کاری را فراهم میکند.
در تصویر بالا نمای بسیار سادهای از معماری ارتباط میان هاست و کنترلر NVMe را مشاهده میکنید. این معماری به برنامهها اجازه میدهد تا چندین درخواست ورودی/خروجی را به طور همزمان شروع، اجرا و به پایان برسانند و از رسانههای زیربنایی به کارآمدترین روش برای به حداکثر رساندن سرعت و به حداقل رساندن تأخیر استفاده کنند.
NVMe چگونه کار میکند؟
برای درک بهتر این پروتکل نرم افزاری، احتمالا مشتاقید بدانید نحوه عملکرد nvme چیست و چطور کار میکند.
NVMe یک پروتکل رابط است که برای استانداردسازی ارتباطات PCIe (PCI Express) با حافظههای SSD طراحی شده است. با پیشرفت فناوری، استفاده از کانالهای حافظه PCIe (که برای ذخیرهسازی مبتنی بر HHD طراحی شدهاند) در مقایسه با SATA/SAS سرعت بالاتری را در اختیار قرار میدهند. چراکه اسلاتهای PCIe مستقیما به CPU متصل میشوند؛ بنابراین کانالهای PCIe انتخاب بهتری نسبت به SATA/SAS برای دسترسی به حافظه SSD هستند.
معماری NVMe شامل یک مکانیسم صفبندی با کارایی بالاست که از ۶۵۵۳۵ صف ورودی/خروجی (هرکدام شامل ۶۵۵۳۵ دستور) پشتیبانی میکند. این تعداد صف، دستورات ورودی/خروجی نگاشت شده توسط حافظه را کاهش میدهد. از سوی دیگر پروتکلهایی برای دستورات SSD تعبیه شده که برای خواندن، نوشتن، تریم، مدیریت سیستم عامل، دما، خطاها و موارد دیگر قابل اجرا هستند.
چند نوع NVMe داریم؟
از زمان انتشار اولیه نسخه NVMe در سال ۲۰۱۱ تاکنون سه نوع از آن توسعه یافته است.
- NVMe: نوعی که از صفهای ورودی/خروجی ۶۴ هزارتایی، پردازندههای چند هستهای، عملیات مسیر داده موازی، امنیت داده، گزارش خطای پیشرفته و مجازیسازی پشتیبانی میکند.
- NVMe-MI: در این نوع مجموعهای از دستورات جدید به نسخه اولیه اضافه شده و نتیجهاش یک پروتکل استاندارد صنعتی برای مدیریت دستگاههای NVMe است. این پروتکل از عملیات کشف، نظارت و بهروزرسانی سیستمعامل پشتیبانی میکند.
- NVMe-Of: در این نوع با وجود میزبانهای راه دور و سیستمهای ذخیرهسازی، حجم دادههای NVMe کاهش مییابد.
مزایای NVMe برای ذخیرهسازی دادهها
و اما بپردازیم به اینکه مزیتهای استفاده از nvme چیست؟
همانطور که رفته رفته حجم دادهها افزایش مییابد، سرعت انتقال و خواندن و نوشتن دادهها با استفاده از فناوریهای قدیمی تبدیل به یک چالش بزرگ میشود. یک راه حل عالی برای رفع این مسئله استفاده از NVMe در سازمانهای بزرگ و کوچک است که تاخیر را به شکل چشمگیری کاهش میدهد. سیستمهای مجهز به NVMe با کاهش زمان پاسخدهی به ۷۰ میکروثانیه، تفاوت قابل توجهی با فناوریهای قدیمی دارند و استفاده از آنها برای تصمیمگیریهای آنی در حوزههای کسبوکار بسیار حیاتی است.
پیش از توسعه NVMe، شرکتهای سختافزاری زیادی با بهرهگیری از مزیتهای PCIe تلاش میکردند با چالشهای سرعت پایین حافظه، مقیاسپذیری سیستمها، ناسازگاری بین دستگاهها و نرمافزار و ناکارآمدی حافظه مقابله کنند. امروزه به کمک پروتکل NVMe غلبه بر این چالشها به راحتی امکانپذیر است.
NVMe برای SSDها توسعه یافته و ویژگیهای آن باعث ایجاد رابطی کارآمدتر، کاهش تاخیر و مقیاسپذیری میشود. رابطهایی که این پروتکل معرفی میکند، در عمل ارتباط نرمافزار میزبان با حافظه SSD را در چندین کانال آسانتر میکنند.
تفاوت SSD و NVMe در چیست؟
دو مفهوم حافظهSSD و پروتکل NVMe تا حد زیادی به یکدیگر مرتبطاند؛ چون برای ساختن سیستمهای ذخیرهسازی با کارایی بالا، با هم کار میکنند. اما تفاوتهایی میان آنها وجود دارد که نباید نادیده گرفت.
SSD یک قطعه سخت افزاری و یک رسانهذخیره سازی است که از مدارهای مجتمع مانند حافظه فلش NAND برای ذخیره دادهها بدون محدودیت استفاده میکند. SSDها از طریق یک گذرگاه SATA یا PCIe به مادربوردها و در نتیجه به سیستم متصل میشوند. از سوی دیگر NVMe یک پروتکل نرمافزاری و یک رابط منطقی است که با ویژگیهای پیشرفتهای طراحی شده و عملکرد فضاهای ذخیرهسازی مانند SSD را بهینه میکند. معمولا از NVMe در کنار SSD مبتنی بر PCIe استفاده میشود.
سرعت SSD های NVMe در مقایسه با هارد دیسکها
اگر بخواهیم رک و راست سراغ اصل مطلب برویم، SSDهای NVMe به طور قابل ملاحظهای سریعتر از HDDها و SSDهای مبتنی بر رابطهای قدیمی SATA و SAS کار میکنند.
سرعت خواندن و نوشتن یک SSD معمولی SATA III میتواند به ۶۰۰ مگابایت بر ثانیه برسد، در حالی که یک SSD NVMe میتواند با استفاده از تکنولوژی PCIe Gen 3 به ترتیب به سرعت خواندن و نوشتن ۳۵۰۰ و ۳۳۰۰ مگابایت بر ثانیه داشته باشد. حالا فرض کنید بخواهیم از تکنولوژی PCIe Gen 4 استفاده کنیم که سرعت خواندن و نوشتن را به ترتیب تا ۷۰۰۰ و ۵۰۰۰ مگابایت بر ثانیه افزایش میدهد.
بنابراین اگر بخواهیم مقایسه کنیم، یک SSD M.2 NVMe تا ۸۰۶ درصد سریعتر از یک هارد SATA، تا ۲۳۷ درصد سریعتر از SATA SSD و تا ۷۹ درصد سریعتر از SSD SATA عمل میکند.
آیا فقط SSD روی NVMe اجرا میشود؟
از آنجایی که درایوهای NVMe بهمراتب سریعتر از SATA هستند، استفاده از NVMe برای افزایش کارایی هارد دیسکها یک ایده عالی است. با این حال به یاد داشته باشید که NVMe مخفف Nonvolatile Memory Express است و مخصوصا برای کار با حافظههای غیرفرار مانند Nand flash طراحی شده است؛ اگرچه میتوان از آن با اشکال جدیدتر حافظه غیرفرار مانند 3D XPoint نیز استفاده کرد.
هنگامی که یک سیستم در حال خواندن دادهها از روی یک هارد دیسک چرخان است، میتواند تنها یک قطعه داده را در یک زمان بخواند. چون باید آنقدر بچرخد تا به مکان فیزیکی صحیح اولین قطعه داده برسد، سپس به چرخش ادامه دهد تا به مکان مناسب قطعه دوم داده برسد و این روند آنقدر ادامه یابد تا تمام فایل مورد نظر را بیابد.
از سوی دیگر، فلش و سایر فناوریهای حافظه غیرفرار، هیچ بخش متحرکی و چرخانی ندارند. این یعنی سیستم بهطور همزمان دادهها را از مکانهای مختلف میخواند و SSD ها میتوانند از موازیسازی ارائه شده توسط NVMe استفاده کنند. در حالی که این قابلیت برای HDD ها وجود ندارد.
کلام آخر
با توجه به گسترش نیاز به پهنای باند بیشتر و افزایش تراکنشها، صفحات وب و محتواهای چندرسانهای با کیفیت بالا در اینترنت، همچنان یکی از چالشهای استفاده از شبکه افزایش سرعت انتقال و کاهش تاخیر است. چالش که اگر از درایوهای NVMe استفاده میکنید، شاید دیگر خیلی نگرانش نباشید. در متن این مقاله بهطور کامل با NVMe آشنا شدیم. فهمیدیم NVMe چیست و این پروتکل نرم افزاری به عنوان یک رابط منطقی چقدر به سرعت انتقال دادهها و کاهش میزان تاخیر کمک میکند. همچنین با بررسی سرعت SSD های مبتنی بر این پروتکل در مقایسه با هارد دیسکهای قدیمی، بهخوبی مشاهده کردیم که استفاده از آنها چقدر عقلانی و لازم است.
شما عزیزان چه اطلاعات بیشتری درباره nvme دارید؟ حاضرید از آن برای تقویت عملکرد شبکه و کاهش هزینههای سازمان استفاده کنید؟ مشتاق شنیدن نظرات و دانستههای شما عزیزان هستیم.
دیدگاهتان را بنویسید