Write Amplification Factor
همانطور که در بخش اول مقاله دیدیم عملیات
نوشتن در NAND-Flash ها بصورت عمده به اندازه یک بلاک در حافظه Flash
بستگی دارد. بعنوان یک مثال ساده، نوشتن یک فایل 4KB روی یک Flash درایو
معمولی منجر به این می شود که کنترل کننده آن با عملیات نوشتن روی کمترین
واحد بلاک که 128KBاست مواجه شود، چرا که ممکن است آن بلاک شامل صفحات یا
Page های غیر معتبر یا پاک شده باشد. این به آن معنی است که تمام سلولهای
بلاک 128 کیلوبایتی باید در حافظه کش اصلاح شده و دوباره نوشته شوند، با
اینکه فقط 4 کیلوبایت آن داده های واقعیست. با این توضیح می بینیم که
عملیات نوشتن در عمل ممکن است اندازه ی بیشتری از آنچه را که ما به درایو
فرستاده ایم در بر بگیرد.
قوانین SSD ها را بخاطر آورید; شما می توانید از یک Page بخوانید یا روی یک Page بنویسید اما باید یک بلاک را در آن واحد پاک کنید. اگر آن بلاک پر از صفحات غیر معتبر باشد (برای مثال فایلها توسط سیستم عامل OverWrite شده باشند) ، اول باید پاک شود تا بتوان روی آن نوشت.
الگوریتمهای پاک سازی بلاک ها در تمام SSD ها وجود دارد (یکی از مهمترین آنها TRIM است که در بخش قبلی مقاله توضیح دادیم) که در یک درایو نو کاربرد ندارند اما پس از گذشت چند روز، هفته یا ماه بعنوان یک بخش معمول درایوهای SSD فعال می شوند.
نمودار زیر را مشاهده کنید:
قوانین SSD ها را بخاطر آورید; شما می توانید از یک Page بخوانید یا روی یک Page بنویسید اما باید یک بلاک را در آن واحد پاک کنید. اگر آن بلاک پر از صفحات غیر معتبر باشد (برای مثال فایلها توسط سیستم عامل OverWrite شده باشند) ، اول باید پاک شود تا بتوان روی آن نوشت.
الگوریتمهای پاک سازی بلاک ها در تمام SSD ها وجود دارد (یکی از مهمترین آنها TRIM است که در بخش قبلی مقاله توضیح دادیم) که در یک درایو نو کاربرد ندارند اما پس از گذشت چند روز، هفته یا ماه بعنوان یک بخش معمول درایوهای SSD فعال می شوند.
نمودار زیر را مشاهده کنید:
مراحل عملیات نوشتن در SSD
بلاکی با بیشترین داده های غیر معتبر برای پاکسازی انتخاب می شود; داده های آن به بلاک دیگری کپی می شود و خود بلاک پاکسازی شده و به لیست بلاکهای معتبر افزوده می شود. در نمودار بالا در سمت چپ اندازه درخواست نوشتن را می بینید، اما در انتهای سمت راست اندازه واقعی داده های نوشته شده پس از عملیات پاکسازی را هم مشاهده می کنید. این تفاوت در مقدار درخواست شده برای عملیات نوشتن و مقدار واقعی نوشته شده را فاکتور ضریب نوشتن یا write amplification Factor می نامند.
write amplification Factor نسبت بین مقدار داده های ارسال شده برای نوشتن و مقدار واقعی مورد نیاز برای نوشتن روی فلش را بیان می کند. مقدار 1 برای این فاکتور مقدار آرمانی و کامل محسوب می شود، اما در عمل مقدار بالاتری برای فلش ها پیش بینی می شود. هر چقدر مقدار این فاکتور بیشتر باشد، درایو شما سریعتر خراب می شود و راندمان آن هم کمتر می شود. معیاری که زیاد خوشایند ما نیست.
این دلیلیست که کنترل کننده اینتل به بافر DRAM احتیاج دارد. در واقع اینتل آن را بعنوان حافظه کوتاه مدت برای ذخیره داده ها استفاده می کند و در نتیجه می تواند عملیات نوشتن را بطور موثرتر از کنترل کننده های دیگر اجرا کند. اینتل مقدار 1.1 را برای write amplification Factor در درایو X25-M اعلام می کند که به نسبت درایوهای معمولی همرده با مقدار 3، رقم خوبیست. سوال اینجاست که چگونه می توان از روی این مقدار عمر درایو SSD را تخمین بهتری زد؟
+ نوشته شده در ۱۳۹۰/۰۴/۱۴ ساعت 22:3 توسط خش.مش
|