نوشته‌ها

هرآنچه باید درباره NVMe بدانید

آینده SSD با سرعتی خیره کننده

همان طور که روز به روز نام SSD بیشتر به گوش میخورد، ممکن است در این میان نام ” حافظه سریع السیر ثابت ” یا همان Non-volatile Memory Express که عموما با نام NVM Express یا NVMe شناخته می شود، را هم شنیده باشید. NVMe یک رابط و پروتوکل ارتباطی است که بوسیله کنسرسیومی از سازندگان مانند Intel, Dell, Samsung, SanDisk, Seagate ، در خصوص هاردهای SSD ساخته شده است.

NVMe طراحی شده تا از مزیتهای بی نظیر حافظه های SSD بهره ببرد. مشخصات فنی آن همچنین نشان میدهد روشهایی برای کم کردن تاخیر اطلاعات نسبت به SATA و AHCI در آن بکار رفته.

دیگر پیشرفتهای قابل توجه یکی افزایش انتقال دهندگان پیامها از ۲KB به ۴KB و قابلیت پردازش چندین صف درخواست به جای تنها یک صف در SATA است. البته وقتی میگوییم چند صف منظور عدد شگفتی آور ۶۵,۵۳۶ صف درخواست اطلاعات است!!!!!. البته ممکن است این چندان بدرد کاربان خانگی نخورد ولی سرعت کار برای پردازشهای سروری با درخواستهای همزمان ورودی و خروجی ( I/O ) فراوان را بسیار بالا خواهد برد.

پیشرفت SSDها با مانع بزرگی روبروست و آن busهای ذخیره سازی است که از نسل قدیمی هاردهای دیسکی به ارث برده است. پورتهای SATA و SAS پهنای باند زیادی را برای هارد دیسک های قدیمی فراهم می کنند ولی با SSDهایی که روز به روز در حال سریعتر شدن هستند، از نفس می افتند.

بخاطر سقف سرعت پورت SATA در ۶۰۰Gbps، هر هارد SSD پیشرفته امروزی با این پورت در آزمایشات تنها به سرعتی حدود ۵۰۰MBps دست پیدا میکند. حتی سرعت نامی ۱۲GBps پورتهای SAS هم در عمل تنها تا ۱٫۵GBps خروجی میدهند. ولی قابلیتهای تکنولوژی SSD بسیار بیش از اینهاست.

تولید کنندگان این صنعت از آغاز هم میدانستند که با این تنگنا مواجه خواهند شد. وجوه تشابه SSDها با حافظه های پرسرعت سیستم ( RAM ) بسیار بیشتر از هارد دیسک های کندی است که جای آنها را گرفته اند. در اوایل آسانتر بود که هاردهای SSD را روی پورتهای SATA و SAS ( که البته به نسبت RAM کنتر بودند ) قراردهند و از زیرساختهای موجود ذخیره سازی در PC استفاده کنند. تا مدتی این راه مناسب بود زیرا طول کشید تا SSDها به سرعتهای موجود دستیابند. ولی از آن زمان خیلی گذشته است.

استفاده ار تکنولوژی موجود

خوشبختانه درگاهی با تکنولوژی مناسب و پهنای باند بالا از قبل نصب شده و در دسترس بود یعنی PCI Express یا PCIe. درگاه PCIe لایه اصولی انتقال اطلاعات برای کارتهای گرافیک و دیگر کارتها مانند Thunderbolt است. نسل ۲ این نوع درگاه به ازای هر خط ارتباط سرعتی در حدود ۵۰۰MBpc ارائه میدهد و نسخه سوم یا نسل سوم، در حدود ۹۸۵MBps به ازای هر خط. اگر کارتی را در یک اسلات ۴ خطی یا x4 قرار دهیم، با نسل دوم به پهنای باندی در حدود ۲GBps و با نسل سوم نزدیک به ۴GBps در اختیار خواهیم داشت و این باند مناسبی حتی برای جدیدترین SSDها فراهم میکند که پیشرفت عظیمی است.

خیلی وقت است که محصولات مختلف کارتهای PCIe مانند RevoDrive از شرکت OCZ و Predator M.2/PCIe از شرکت Kingston و M6e از شرکت Plextor، در بازار موجود هستند ولی تا کنون این محصولات به پروتوکلهای SATA و SCSI وابسته بودند که هنوز بخاطر هارددیسک ها از روشهای تک خطی استفاده میکنند. کاملا واضح بود که رویکرد جدید لازم است.

درایورها آماده شدند، BIOS و کانکتورها نه

یکی از بهترین ویژگی های NVMe این است که لازم نیست نگران درایورهای آن باشید. لینوکس از کرنل ۳٫۱ این تکنولوژی را ساپورت میکند، همچنین windows 8.1 و Server 2012 R2 هم درایورهای آن را بطور پیشفرض نصب داشته و درایورهای آن برای FreeBSD در دست تهیه است. و اگر شرکت اپل هم تصمیم بگیرد از این تکنولوژی حمایت کند، نباید زیاد طول بکشد تا شاهد ارائه درایورهای مناسب باشیم.

هرچند که پشتیبانی BIOSها از این سیستم هنوز بشدت کمبود دارد. بدون BIOSی که NVMe را بشناسد نمی توان از این نوع درایو بوت کرد، با این وجود هر سیستمی با اسلات PCIe x4 و یا کانکتور M.2 می تواند از مزایای این درایو به عنوان فضای ذخیره سازی ثانویه بهره مند شود. ساخت BIOSهای NVMe مشکل تکنینکی بزرگی نیست ولی نیازمند صرف ساعتها مهندسی و هزینه است پس انتظار نداشته باشید که این قابلیت برای مادربوردهای قدیمی آپدیت شود.

مقایسه با AHCI

درگاه کنترل پیشرفته میزبان یا Advanced host controller interface یا نام معمولتر آن AHCI، این مزیت را دارد که قابلیتهای نرم افزاری بسیار را ارائه میداد ولی در نقطه مقابل آن، عملکرد مطلوبی را در مقایسه با SSDهای متصل به درگاه PCIe از خود نشان نمی دهد. باید توجه داشت که AHCI بطور سری عمل میکرد و زمانی توسعه داده شد که هدف آن تنها برقراری ارتباط بین CPU و RAM با منبع ذخیره سازی بسیار کندتری بود که براساس دیسکهای گردان عمل میکرد. بنابراین وقتی با SSD مورد استفاده قرار گرفت محدودیت های ویژه ای بروز داد. زیرا همان طور که گفته شد SSD بیشتر شبیه به RAM عمل میکند تا مانند هارددیسکهای قدیمی.

درگاه سخت افزاری NVMe با توجه ویژه به عملکرد موازی PCIe بطور کامل از صفر طراحی مجدد شده و ساخته شد تا مکمل عملکرد موازی CPU، سیستم عامل و نرم افزارهای موجود باشد.

جدول زیر تفاوتهای بارز AHCI و NVMe را خلاصه میکند:

منبع:bestadmins.ir

آیا از درایو های Solid State Drive یا SSD در سرورها استفاده کنیم یا خیر ؟

آیا از درایو های Solid State Drive یا SSD در سرورها استفاده کنیم یا خیر ؟

هر چقدر که صنعت و تکنولوژی های مرتبط با فناوری اطلاعات گسترش پیدا می کنند به همان نسبت تجهیزات قدیمی به مرور از مدار خارج می شوند و جایگزین هایی برای آنها معرفی می شود ، تجارت های امروزی برای کاربردهای کلان خود با معزلی روبرو خواهند بود به نام ذخیره سازی داده ها ، سیستم ها و تجهیزات ذخیره سازی سنتی که امروزه به وفور استفاده می شوند دیگر قادر نخواهند بود نیاز ما را برای ذخیره سازی اطلاعات و دستیابی به آنها برآورده کنند و محدودیت های زیادی که در تکنولوژی بکار رفته آنان دارد باعث می شود کاربردهای آنها به مرور کمتر و کمتر شود. در سالهای اخیر و با معرفی شدن درایوهای Solid State یا SSD تحولی شگرفت در عرصه ذخیره سازی اطلاعات به وجود آمد اما این تحول بیشتر کاربردهای خانگی و کوچک داشت و در سطح کلان و سازمانی کمتر مورد استفاده قرار می گرفت. بعد از چند سال از گذشت معرفی SSD ها کمپانی های سازنده SSD و سرور هم تصمیم گرفتند SSD های مخصوص سرور با کارایی و سرعت تقریبا غیرقابل مقایسه یا HDD های قدیمی به بازار معرفی کنند که به شدت در کنار بالا بردن سرعت دستیابی به اطلاعات ، سرعت عملکرد و بازدهی CPU را نیز بالا می برد. اما سئوال اصلی اینجا به وجود می آید که آیا این نوع از حافظه ها در آینده کاملا جایگزین فضاهای ذخیره سازی اطلاعات ما بر روی سرورها خواهند شد یا خیر ؟

804ccf898273444eac368e8b9b1c8c6e

امروزه مدیران فناوری اطلاعات به SSD ها به عنوان یک دستگاه ذخیره سازی جانبی برای نگهداری اطلاعات و جانشینی هارد دیسک ها نگاه می کنند. تکنولوژی های جدید برای ارائه بهترین کارایی وابسته به سخت افزار هستند و هارد دیسک ها دیگر پاسخگوی این نیاز نیستند و شما همیشه در بحث سرعت یک Bottleneck به نام هارد دیسک خواهید داشت ، حتی امروزه در صنعت مجازی سازی به شدت بحث استفاده از هارد دیسک و SSD مورد بحث است. اما این سئوال پیش می آید که آیا همه هارد دیسک های سازمان را بایستی با تکنولوژی SSD جایگزین کنیم و آنها را کنار بگذاریم ؟ آیا همیشه جدیدتر بودن و سریعتر بودن باعث کارآمدتر بودن راهکار ذخیره سازی است ؟

توجه کنید که خواه ناخواه در چندین سال آینده به سمت استفاده از چنین دستگاه های ذخیره سازی بصورت عمده خواهیم رفت اما باید کمی منطقی هم به این موضوع فکر کنیم ، در حال حاضر کافیست قیمت یک هارد دیسک 2 ترابایتی را با یک SSD با ظرفیت 120 گیگابایت مقایسه کنید و خواهید دید که بعضا SSDبا ظرفیت 120 گیگابایت گرانتر از هارد دیسک با ظرفیت 2 ترابایت است و این به هیچ عنوان برای یک سازمان قابل قبول نیست ، شما تصور کنید که سازمان ها برای سرورهای خود باید از ظرفیت هایی به مراتب بسیار بالاتر از 120 گیگابایت استفاده کنند و در حال حاضر به هیچ عنوان هزینه های استفاده از SSDبرای سرورها در سازمان قابل توجیه نیست ، شاید به عنوان قسمتی از کار بتوانند در کنار هارد دیسک های فعلی به سیستم سرور در بهبود کارایی کمک کنند اما نمی توان به عنوان دستگاه ذخیره سازی اصلی از آنها یاد کرد.

در حال حاضر استفاده از SSD ها در کجا توصیه می شود ؟

همانطور که اشاره کردیم در حال حاضر استفاده از SSD ها به عنوان حافظه اصلی برای نگهداری داده ها صرفه اقتصادی ندارد اما ما می توانیم از این نوع حافظه ها در کنار حافظه های HDD بصورت ترکیبی استفاده کنیم و از برخی مزایای آنها استفاده کنیم ، اگر وب سایتی یا سرویس تحت وبی دارید که سرعت دستیابی به اطلاعات آن بسیار باید زیاد باشد بهتر است از SSD در آن استفاده کنید. شما می توانید در چنین شرایطی سیستم عامل سرور خود را بر روی SSD نصب کنید و داده های حجیم پایگاه داده را بر روی یک هارد دیسک HDD قرار بدهید ، در چنین حالتی ضمن اینکه سرعت عملکرد سیستم عامل بالا می رود دیگر نگران فضای ذخیره سازی داده ها نیز نخواهید بود.

از طرفی یکی دیگر از استفاده هایی که امروزه بصورت گسترده ای از SSD ها می شود ، استفاده از SSD به عنوان یک Cache برای بالا بردن سرعت انتقال های داده ها است ، نمونه ملموس این استفاده در سرویس های مجازی مانند VMotion و یا Live Migration در VMware و Hyper-V قابل مشاهده هستند که شما برای منتقل کردن ماشین های مجازی در بین سرورهای مختلف از SSD به عنوان Flash Read Cache استفاده می کنید و طبیعتا سرعت شما به شدت در انتقال ها بالا خواهد رفت ، تقریبا به عنوان یک حافظه RAM کمکی با ظرفیت بسیار بالا به کمک شما می آید. یکی دیگر از مزایای استفاده از SSD در سرورها کاهش دمای سرور است زیرا SSD مانند HDD هیچگونه حرکت مکانیکی ندارد و به همین دلیل حرارت کمتری تولید می کند.

SSD ها چه محدودیت هایی دارند ؟

اگر بحث قیمت و هزینه های SSD ها را کنار بگذاریم و به سراغ سایر ملاک های استفاده از SSD در سرور برویم متوجه خواهید شد که ساختار SSD های سرورها کمی با SSD هایی که در کامپیوترهای معمولی استفاده می شود متفاوت است ، شما در کامپیوتر معمولی ممکن است زیاد اطلاعات را ننویسید و یا از آن نخوانید اما بر روی یک سرور ممکن است تعداد دفعات خواندن و نوشتن اطلاعات قابل مقایسه با یک لپتاپ نباشد. به همین دلیل SSD ها در سطوح مختلف کاری از نظر کارایی و تحمل به بازار ارائه می شوند. منظور از واژه تحمل که ترجمه کلمه endurance در انگلیسی است این است که SSD ها بر خلاف HDD ها یک نقطه ضعف دارند و آن نقطه ضعف مقدار و دفعاتی که شما می توانید بر روی این SSD ها اطلاعات بنویسید. در واقع تعداد عملیات های نوشتن اطلاعات بر روی SSD ها یا Write Operations محدودیت دارد و به عنوان بعد از عبور کردن SSD از این تعداد معین Write Operation دیگر شما نمی توانید از این SSD استفاده کنید ، معیار اندازه گیری طول عمر یک SSD به شکل Total Terabytes Written یا Total TBW و یا Total Drive Write Per Day معرفی می شود. هر چقدر میزان Total TBW بالاتر باشد، SSD شما عمر بیشتر خواهد داشت . استفاده از Controller های مختلف ، Firmware ها و تکنولوژی های NAND Flash Memory مختلف باعث به وجود آمدن انواع و اقسام SSD با کارایی و سطح تحمل های مختلف شده است که در هنگام خرید SSD ها باید به آن توجه کنید. به یک نکته بسیار مهم نیز توجه کنید که تعداد دفعات خواندن اصلا محدودیت ندارد و فقط تعداد دفعات نوشتن محدودیت دارد.

نتیجه گیری : آیا در حال حاضر از SSD برای سرورها استفاده کنیم ؟

از نظر من Unity ، اگر Load شدیدی بر روی سرور از لحاظ خواندن و نوشتن اطلاعات دارید برای مثال وقتی به Performance Monitor سیستم مراجعه می کنید استفاده از دیسک به شکل بالای 60 درصد نمایش داده می شود و به ویژه سرورهای Database با ظرفیت نسبتا کم اما با تعداد Query های بالا ، بهتر است ازSSD استفاده کنید اما نه به عنوان حافظه ذخیره سازی اصلی برای نگهداری Backup ها ، بلکه به عنوان یک حافظه برای سرعت بخشیدن به فرآیند های کاری ، اگر Load کاری شما بر روی سرور حال حاضر و در حالت عادی 10 تا 15 درصد است نیاز و الزمی برای استفاده از SSD ندارید و البته همیشه در حال حاضر پیشنهاد می کنم بصورت ترکیبی همانطور که عنوان شد از SSD ها به عنوان یک حافظه ذخیره سازی کمکی فعلا استفاده کنید. در نهایت تمامی ملاک برای استفاده از SSD بر روی هارد دیسک ها وابسته به میزان استفاده شما از حافظه و البته Load کاری و در نهایت هزینه ای است که سازمان حاضر است بابت آن پرداخت کند.

منبع : http://itpro.ir/