الگوریتم تسطیح NAND Flash Wear

Aug 27, 2022

از آنجایی که تعداد عملیات نوشتن فلش مموری محدود است، اگر 100000 عملیات نوشتن روی برخی واحدها انجام شده باشد، قابلیت اطمینان نوشتن این واحدها قابل تضمین نیست و ممکن است برخی از واحدها از کار بیفتند. به عنوان مثال، برخی از گزارش‌های سیستم داده‌های مدیریتی اغلب بازنویسی می‌شوند، در حالی که برخی از داده‌های فایل استاتیک تقریباً هرگز بازنویسی نمی‌شوند. در صورت عدم کنترل، برخی از بلوک ها به دلیل پاک شدن های مکرر از قبل آسیب می بینند و برخی از بلوک ها بازنویسی نشده اند، برای حل این مشکل، عملیات نوشتن به طور مساوی در تمام سلول های حافظه فلش توزیع می شود تا در کل تعادل ایجاد شود تا از جلوگیری شود. شکست سلول های فردی تسطیح سایش الگوریتمی است که به طور گسترده برای حل این مشکل استفاده می شود.

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

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