با برخورداری از سرعت خواندن و نوشتن به مراتب بیشتر از هارد دیسک، درایوهای SSD سرعت بوت شدن، نصب و اجرای برنامه ها و کارایی کلی سیستم را بشدت افزایش می دهند. در کنار تمامی مزایای درایوهای SSD، یکی از نقاط ضعف آنها طول عمر کاملاً محدود است و همین مسئله باعث نگرانی و تردید بسیاری از کاربران می شود. در ادامه روشی به نام Over-Provisioning را به شما معرفی می کنم که طول عمر و کارایی درایوهای SSD را بشدت افزایش می دهد.
Over-Provisioningچیست؟
کنترلر SSD وظیفه انجام کار بسیار سنگین و پیچیده مدیریت و ذخیره سازی اطلاعات را بر عهده دارد. ذخیره اطلاعات بر روی تراشههای حافظه NAND مورد استفاده در درایوهای SSD، ذاتاً یک کار بسیار پیچیده است و افزون بر ذخیره کردن اطلاعات بر روی تراشههای حافظه، به کارهای جانبی بسیاری نیاز است. ذخیره کردن داده بر روی تراشههای حافظه NAND به سادگی ذخیره سازی دادهها بر روی یک تراشه حافظه فلش نیست. هر سلول از تراشههای حافظه NAND عمر محدودی دارند و به تعداد دفعات مشخصی میتوان بر روی آن داده ذخیره و بازیابی (نوشتن و خواندن) کرد. یکی از مشکلاتی که با تراشههای حافظه NAND وجود دارد، کارهای اضافی پیش از انجام فرایند نوشتن و یا خواندن است، به عبارتی دیگر، نوشتن تنها 1 بیت داده، به انجام چندین کار مختلف نیاز دارد.
بر خلاف هارد دیسکها که هنگام حذف دادهها، آنها به صورت منطقی پاک میشوند، در حافظههای NAND، باید فرایند پاک سازی دادهها به صورت فیزیکی صورت گیرد. هنگامی که یک فایل بر روی هارد دیسک حدف میشود، در عمل دادههای آن فایل به صورت فیزیکی در سطح دیسک سخت پاک نمیشوند و تنها به صورت منطقی، آدرس و مشخصات آن فایل پاک میشود (از لیست خط میخورد)، بنابراین فرایند حذف بسیار سریع انجام میشود. در هارد دیسک ها هنگامی در محل فایل قبلی، فایل جدیدی ذخیره میشود، تنها بیتهای مربوط به فایل قبلی در صورت نیاز تغییر مییابند یا به عبارتی دیگر، بازنویسی میشوند. اما در حافظههای NAND فرایند نوشتن و خواندن به کلی متفاوت است و پیش از آنکه بتوان در محل فایل قبلی چیزی نوشت، باید تمامی بیتهای آن بلاک به صفر تبدیل شود و امکان ذخیره کردن دادههای جدید بر روی دادههای پیشین بدون پاک سازی سلولها، وجود ندارد.
این محدودیت باعث میشود تا هنگام ذخیره کردن یک فایل جدید، کنترلر به دنبال یافتن سلولهای آزاد که قبلاً چیزی روی آنها حذف نشده، بگردد که هم زمان بر است و هم پیچیدگی زیادی را به وجود میآورد. هنگامی که به انداز کافی سلول آزاد یافت نشود، کنترلر ناچار می شود پیش از آنکه چیزی ذخیره کند، بلاکهای مربوط به فایلهای حذف شده را پاک کند تا برای نوشتن دادههای جدید، قابل استفاده شوند.
اجزای اصلی درایوهای SSD
انجام همه این کارها به یک فضای موقت نیازمند است تا پیش از پیدا کردن و آماده سازی سلول های حافظه برای ذخیره کردن، دادهها به طور موقت پیش از نوشتن نهایی در آنجا نگه داری شوند. کنترلر از فضای خالی موجود برای نگه داشتن موقت دادهها پیش از آماده کردن سلولهای حافظه استفاده میکند، بنابراین در دسترس بودن فضای آزاد، برای انجام این کارها ضروری است. مشکل اینجاست که هیچ تضمینی وجود ندارد فضای آزاد در دسترس باشد و ممکن است کل دیسک پر باشد یا فضای آزاد به اندازه کافی برای نگه داشتن موقت دادهها در دسترس نباشد و اینجاست که کنترلر با دردسر مواجه میشود.
احتمالاً اکنون راه حل این مشکل به ذهن شما هم رسیده است و میتوان بخشی از حافظه را به انجام این کار اختصاص داد. Over-Provisioning دقیقاً همین کار میکند و بخشی از حافظه را از دسترس کاربر و سیستم عامل خارج کرده و آن را به حافظه موقت اختصاص میدهد. اگر بخواهیم Over-Provisioning را در دنیای واقعی به چیزی تشبیه کنیم، میز کار؛ بهترین مثال برای آن است. در همین حال ممکن است بپرسید مگر درایوهای SSD حافظه کَش (موقت) ندارند؟ بله همینطور است و درایوهای SSD دارای حافظه کش هستند اما کارکرد حافظه کش در درایوهای SSD نه برای این کار، بلکه برای نگه داشتن Table Map است.
Over-Provisioning (به اختصار OP)، به اختصاص دائمی مقداری از فضای آزاد موجود بر روی SSD با هدف افزایش طول عمر و کارایی گفته میشود. با توجه به تاثیر بسیار مثبت این کار بر روی افزایش طول عمل و کارایی درایورهای SSD، برخی از سازندگان درایوهای SSD، به صورت پیش فرض و اجباری، بخشی از فضای درایو را به قابلیت Over-Provisioning اختصاص میدهند، به عبارتی دیگر در عمل از ظرفیت اسمی درایو، مقداری را برای این قابلیت در نظر میگیرند، برای نمونه است از کل ظرفیت یک درایو 120 گیگابایتی، فقط 95 درصد آن از سوی کاربر قابل استفاده باشد. با این حال همه سازندگان درایوهای SSD بخشی از فضای درایو را به این قابلیت اختصاص نمیدهند و باید خود کاربر دست بکار شود.
در بسیاری از درایوهای SSD، امروزه به صورت پیش فرض کسری از فضای درایو به Over-Provisioning اختصاص داده میشود اما معمولاً مقدار آن بسیار کم است و اگر مقدار بیشتری را برای اینکار در نظر بگیرد، طول عمر و کارایی درایو از طریق کاهش پیچیدگیهایی که کنترلر با آن مواجه میشود، افزایش میباید. پس ایده بسیار خوبی است که مقداری از حافظه درایو را به Over-Provisioning اختصاص دهیم. در نظر دشته باشید، با اینکه حافظه اختصاص داده شده به Over-Provisioning قابل تغییر است و برای همیشه غیر قابل دست یابی نمیشود، اما در مواقع رزرو بودن برای این قابلیت، حافظه تخصیص یافته به Over-Provisioning توسط کاربر قابل استفاده نیست، برای نمونه اگر 10 گیگابایت از ظرفت درایو را به Over-Provisioning اختصاص دهید، مقدار فضای قابل استفاده، حداقل ظرفیت اسمی با کسر مقدار اختصاص داده شده به Over-Provisioning خواهد بود.
در حالی که اختصاص فضای بیشتری به Over-Provisioning باعث افزایش دوام و کارایی درایوهای SSD میشود، اما هیچ مقدار ایده آلی برای آن وجود ندارد و بسته به استفاده کاربر و ظرفیت درایو باید تعیین شود. برای نمونه اگر یک SSD پرظرفیت (با ظرفیت 250 گیگابایت به بالا) داشته باشید، احتمالاً هیچگاه همه فضای آن مورد استفاده قرار نمیگیرد و همیشه مقداری از آن آزاد خواهد بود، در این حالت نیازی به تخصیص بخشی از فضا به Over-Provisioning نیست. اما اگر از درایوهای با ظرفیت زیر 250 گیگابایت استفاده میکنید، پیشنهاد میشود حداقل 5 تا 10 درصد از ظرفیت اسمی را به Over-Provisioning اختصاص دهید. تاثیر مثبت اختصاص بخشی از فضای ذخیره سازی به Over-Provisioning، در دسترس بودن حتمی مقداری حافظه برای کنترلر است و این کار از تلاش برای یافتن سلولهای آزاد حافظه و پاک کردن آنها، و در نتیجه کاهش طول عمر درایو، جلوگیری می کند.
برای تعیین بهترین مقدار مناسب برای اختصاص به Over-Provisioning، به بررسی الگوی استفاده کاربر از درایو و همچنین بنچمارک دقیق درایو نیاز است. برای نمونه اگر درایو SSD تحت فشار کاری شدیدی قرار میگیرد,؛ نظیر ذخیره سازی هم زمان چندین فایل مختلف، نیاز به فضای Over-Provisioning بیشتر خواهد بود.
چرا از Over-Provisioning استفاده کنیم؟
از آنجایی که استفاده از قابلیت Over-Provisioning با کاهش فضای ذخیره سازی قابل استفاده همراه است، احتمالاً میپرسید چرا باید از Over-Provisioning استفاده کرد؟ Over-Provisioning تاثیر مستقیم بر کارایی درایو تحت فشار کاری بالا دارد. در دسترس بودن تضمینی مقداری فضای آزاد برای کنترلر، از اتلاف وقت برای یافتن، پاک کردن، جابجایی و کپی کردن بلاکهای حافظه جلوگیری میکرد. همانطور که گفتیم، ذخیره کردن اطلاعات در درایوهای SSD بسیار پیچیده است و در پس زمینه، به انجام کارهای مختلف و وقت گیری نیاز است. تاثیر دوم حذف این کارهای اضافی، افزایش طول عمر سلولهای حافظه از طریق کاهش تعداد دفعات خواندن و نوشتن (آماده کردن بلاکها برای نوشتن) است.
درست است که اختصاص بخشی از فضای ذخیره سازی درایو به Over-Provisioning، فضای قابل استفاده درایور را کاهش میدهد، اما در عوض کارایی و طول عمر آن را افزایش میدهد. با اختصاص بخشی از ظرفیت درایو به Over-Provisioning، افزایش کارایی از طریق کاهش پیچیدگی کاری کنترلر و افزایش طول عمر درایو از طریق کاهش نیاز به خواندن و پاک کردن سلولهای حافظه ممکن میشود.
از آنجایی که طول عمر درایوهای SSD و به طور مشخصتر سلولهای حافظه تراشههای NAND محدود است، Over-Provisioning ارزش زیادی دارد و فعال کردن آن بشدت توصیه میشود. در نظر داشته باشید که Over-Provisioning نه یک ترفند مورد مناقشه، بلکه یک تکنیک کاملاً شناخته شده برای افزایش کارایی و طول عمر درایوهای SSD است.
چگونه قابلیت Over-Provisioning را فعال کنیم؟
برای استفاده از این قابلیت، به بسته نرم افزاری (Tool Box) ارائه شده توسط سازنده (در صورت ارائه) نیاز دارید . فعال سازی Over-Provisioning و اختصاص بخشی از حافظه به آن، بسیار ساده است. کافی است تا برنامه Tool Box ارائه شده توسط سازنده درایو SSD را نصب کنید و پس از اجرا، Over-Provisioning را پیدا کرده و درصدی از ظرفیت درایو را به این قابلیت اختصاص دهید.
برای نمونه بسته نرم افزاری SSDGuru مربوط به درایوی را که در اختیار داریم نصب کردیم و قابلیت Over-Provisioning را در بخش Tuner یافتیم، سپس 10 گیگابایت فضا را به این قابلیت اختصاص دادیم.
در صورتی که درایو مورد استفاده شما بیش از یک پارتیشن دارد، پرظرفتترین پارتیشن موجود و یا پارتیشنی را که بیشترین فضای آزاد را دارد، برای قابلیت Over-Provisioning انتخاب کنید.
فراموش نکنید که باید برنامه Tool Box مخصوص درایو SSD خود را نصب کنید، برای نمونه اگر SSD شما ساخت سامسونگ است، باید برنامه Magician را دانلود کنید.
تهیه شده در شهرسخت افزار
نظر خود را اضافه کنید.
برای ارسال نظر وارد شوید
ارسال نظر بدون عضویت در سایت