تخصیص فضای نام به‌صورت ناحیه‌ای ZNS چیست؟

تخصیص فضای نام به‌صورت ناحیه‌ای یا ZNS [1]، مجموعه دستورات جدیدی را در اختیار سیستم میزبان قرار می‌دهد تا در هنگام انجام کارهای سنگین از حافظه‌ی SSD استفاده بهینه شود.

Zoned Namespace Specification یا ZNS

در اواسط سال ۲۰۲۰، تشکیلات NVM Express، اولین بازنگری درباره‌ تخصیص فضای نام به‌صورت ناحیه‌ای را منتشر کرد.

این نوع تخصیص فضای جدید توجه زیادی را جلب کرد، چراکه قول درایو‌هایی با طول عمر بیشتر که به عملکرد بالاتری در شرایط خاص می‌رسند را می‌داد.

از آن زمان، تعدادی از شرکت‌ها نقشه‌‌‌ راهی را منتشر کرده‌اند که محصولاتی با پشتیبانی از درایو‌های ZNS را دربرمی‌گیرد.

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

ZNS Zoned-Storage-SSD

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

ممکن است تصور کنید زمانی‌که دیتا روی SSD نوشته می‌شود، به‌صورت یک‌باره در خانه‌ جدید خود روی فلش مموری قرار می‌گیرد.

اما برخی محدودیت‌های مهم فلش مموری، دیتا را مجبور می‌کند تا دیتا چندین‌بار دوباره روی درایو نوشته شود.

دیتا می‌تواند در واحدهای نسبتاً کوچک نوشته شود اما تنها در‌صورتی می‌تواند دوباره نوشته شود که تمام یک بلوک بزرگ‌تر از دیتای پاک شده باشد.

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

فرض کنید یک بلوک کاملاً پر است، اما اپلیکیشن درخواست پاک‌کردن دیتای موجود در نیمه‌ اول بلوک و نگه داشتن دیتای موجود در نیمه‌ دوم بلوک را دارد.

کنترل‌کننده، دیتای پاک‌شده را به‌عنوان دیتای کهنه در نظر می‌گیرد.

در‌ واقع این دیتا پاک نشده است، چراکه عمل پاک‌کردن تنها روی تمام بلوک می‌تواند انجام شود، که این کار دیتای موجود در نیمه‌ دوم بلوک، یعنی همان دیتایی ک اپلیکیشن خواهان نگه‌داشتن آن بوده را نیز پاک خواهد کرد.

به‌منظور حفظ ظرفیت درایو، دیتای موجود در نیمه‌ دوم بلوک ممکن است در یک بلوک متفاوت دوباره نوشته شده و بعد از آن تمام بلوک اول پاک و فضای آن آزاد شود.

از این عمل دوباره نوشتن، با عنوان تشدید نوشتن یاد می‌شود. این عمل شبیه بازی تتریس است و نیاز است که دیتا به‌صورت مؤثر و فشرده ذخیره شود تا هیچ فضای تلف‌ شده‌ای در فلش مموری باقی نماند.

واضح است که این دوباره نوشتن دیتا بدون هدف نیست، چرا‌که استفاده‌ بهینه‌‌ از فضای درایو را مهیا می‌کند.

اشکال این کار این است که دوباره نوشتن داده به‌طور مؤثری عمر SSD را کوتاه می‌کند، چراکه برای درایو در تعداد دفعات نوشتن، محدودیت وجود دارد.

فلش‌ مموری‌هایی که به‌صورت سلول تک‌مرحله‌ای[2]، سلول چند‌مرحله‌ای [3]و سلول سه‌مرحله‌ای [4]هستند، معمولاً با این محدودیت مواجه نیستند چون تعداد دفعات نوشتن روی آن‌ها شدیداً بالاست.

اما فلش درایور‌های سلول چهارمرحله‌ای[5]، که از ظرفیت‌های بیشتری برخوردار هستند، از طول عمر محدودتری برخوردار هستند و باید تعداد دفعات دوباره نوشتن روی‌ آن‌ها به‌شکل صحیحی مدیریت شود.

بسته‌های کوچک، ظرفیت‌های بالا

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

این به آن معناست که SSDهای QLC می‌توانند در ظرفیت‌های بالا و ابعاد کوچک ساخته شوند، اما در‌مقابل این ویژگی‌های مثبت، طول عمر کمتر درایو وجود دارد.

تعداد چرخه‌های نوشتن یا پاک کردن در بسیاری از QLC SSDها در حد چندهزاربار است.

با گذشتن از حد نوشتن روی درایو، هر دفعه سلول‌های بیشتری از بین می‌روند.

ممکن است این اشکال جدی به نظر بیاید، اما در واقع برای کاربردهای مشخص، مناسب می‌باشد.

یکبار نوشتن و چندین‌بار خواندن برای این درایوها زیاد پیش می‌آید، به این معنا که زمانی‌که دیتا روی درایو قرار می‌گیرد.

به‌ندرت احتیاج به تغییر داشته باشد یا شاید هیچ‌وقت هم نیاز به تغییر نباشد و این همان جایی است که فضای نام ناحیه‌ای می‌تواند بسیار مفید باشد.

نواحی یک مکانسیم عالی را برای کاهش غیرضروری نوشتن‌ها فراهم می‌کنند و تعداد نوشتن‌های بیش از حدی را که در طول عمر درایو اتفاق می‌افتد، مدیریت می‌کنند. اما چگونه؟

ZNS به اپلیکیشن‌ها اجازه می‌دهد تا ناحیه‌هایی را که برای نوشتن دیتای جدید باز یا بسته هستند، مدیریت کنند.

دیتا به‌صورت متوالی در ناحیه نوشته می‌شود، بنابراین نیازی به برگشت به عقب و جابجا کردن آن نیست که این کار تعداد دوباره نوشتن‌ها را به‌صورت قابل‌توجهی کاهش می‌دهد.

اما به یاد داشته باشید که ZNS در مواردی که دیتا یک‌بار نوشته شده و چندین‌بار خوانده می‌شود مناسب است و برای مواردی که تعداد زیادی عمل نوشتن، حذف و دوباره نوشتن را شامل می‌شود، مناسب نیست.

برخی معماری‌ها از سایر فلش مموری‌ها، مثلاً NVDIMM استفاده می‌کنند تا اطمینان حاصل کنند که تمامی دیتا به‌صورت متوالی در ناحیه ذخیره شده است.

اگرچه ممکن است این کار زحمت زیادی داشته باشد اما می‌تواند تفاوت زیادی را رقم بزند چراکه موجب استفاده‌ بهینه‌ از فلش مموری که گران‌ترین بخش SSD است، می‌شود.

هزاران SSD موجود در یک دیتاسنتر را در نظر بگیرید تا متوجه تأثیر این مورد بر هزینه‌ها شوید.

سازمان NVMe هماهنگی و پذیرش را هنگام معرفی دستورات جدید در اولویت قرار داد.

اولاً درایور پشتیبانی‌کننده‌ ZNS در میان درایورهای متن‌باز NVMe معرفی شد که به آسان‌شدن سازگاری درایو‌های ZNS کمک می‌کند.

علاوه بر این آزمون‌های پذیرش طراحی شدند تا از پشتیبانی مجموعه دستورات جدید در هنگام عرضه‌ درایو‌ها به بازار اطمینان حاصل شود.

ZNS مفهومی جدید در دنیای ذخیره داده است و می توان انتظار داشت در سالهای آینده این اصطلاح را بیشتر بشنویم. باید توجه داشت در این صنعت ZNS سرنام Zoned Namespace Specification است و با دیگر اصطلاحات مشابه اشتباه نشود.

۱ Zoned Namespace Specification

۲ single-level cell (SLC)

۳ multi-level cell (MLC)

۴ triple-level cell (TLC)

۵ quad-level cell (QLC)

3.6/5

نظرات درباره این مطلب

  1. mahdi گفت:

    من که از این برنامه خیلی راضی هستم هرکس هم توضیح خواست می‌تونه به من در تلگرام پیام بده

    1. حیدر گفت:

      سلام‌مهدی جان یکسری سوال داشتم می تونم باهاتون ارتباط داشته باشم

    2. حیدر گفت:

      مهدی جان بنده یه چند تا سوال دارم ازتون در مورد این پلتفرم اینم شماره بنده بنده بیات هستم

    3. بهزاد گفت:

      یه پیام به من میدی توی تلگرام؟

  2. حسینی گفت:

    سلام از چه نظر برنامه خوبی می‌باشد برای سرمایه گذاری
    از طریق سیگنال چطور.چون سرمایه می‌زاری روزی سه چهار تتر میده آیا ادامه دار هست یا کلاهبرداری ؟

    1. جاسم گفت:

      کلاه برداریه

  3. سحر گفت:

    سلام دوستان من در این پروژه ۱۳میلیون گزاشتم و ماهی ۱۲میلیون درامدمه برای اموزش رایگان ب ایدی تلگرام زیر پیام بدید هرشب سیگنال رایگان هم میفرستم براتون

  4. سعید گفت:

    سلام شماره ایدیتون بدید لطقا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *