Adaptive Flash Cache (AFC)

Adaptive Flash Cache (AFC)

Adaptive Flash Cache (AFC)

یکی دیگر از مزیت های دیگر 3PAR میباشد که به شرح آن می پردازیم:

 

قابلیتی است که از SSD به عنوان کش level-2 میتوانیم استفاده کنیم که باعث کاهش response time در درخواست های Read intensive I/O workload میشود و همچنین باعث افزایش بهبود در عمل write throughput در محیط های Mixed-workload میشود، به عبارتی دیگر باعث افزایش Random Read خواهد شد.

همانطور که میدانیم دو دسته برای خواندن دیتا داریم، یکی Sequential Read/Write Workload مانند Log ها که با حجم اندازه گیری میشوند یعنی GB/h و دسته دوم Random Read/Write Workload هستند مانند دیتابیس که با IO/s   اندازه گیری میشوند.

 

این تکنولوژی به عنوان مکمل DRAM Cache استفاده میشود و همانطور که میدانید DRAM Cache بخشی از ذخیره ساز است که باعث افزایش کارایی ذخیره ساز میشود به اینصورت که داده ها را بر روی یک ذخیره ساز بسیار پر سرعت ذخیره میکند (DRAM) و بعد به هارد دیسک انتقال میدهد. اما اینگونه کش ها از لحاظ قیمت بسیار گران هستند برای همین از لحاظ ظرفیت محدودیت دارند و تکنولوژی AFC = Adaptive Flash Cache با استفاده از SSD ها برای نگهداری random read هایی با Block سایز کوچکتر از 64KiB که از DRAM Cache حذف شده اند استفاده میشود. در واقع این بلاک سایز از دیتاهای read، از درون DRAM Cache به داخل Flash cache کپی میشوند نه بطور مستقیم. و زمانیست که بلاک قرار است از DRAM حذف شود

نکات:

  • این قابلیت برای block-size های کوچک مورد استفاده قرار میگیرد، کمتر از .64KiB
  • این تکنولوژی از 3PAR OS 3.2.1 به بعد قابل پشتیبانی است
  • نیازی به اختصاص دادن SSD های جداگانه برای AFC نیست و میتوانیم از همان SSD های خود Enclosure هم برای Data و هم Cache استفاده کنیم
  • این قابلیت بر روی eMLC قرار میگیرد
  • حداقل فضای لازم برای ایجاد AFC باید 64GB باشد – حداقل 4 SSD برای سری 7000 و برای سری های 10000 و 20000 باید حداقل 8 SSD داشته باشیم به ازای هر Node Pair

CMP = Cache Memory Page

این مورد page های 16KiB از DRAM Cache مموری فیزیکی میباشد که میتواند شامل Read IO و Write IO باشند.

FMP = Flash Memory Page

این مورد page های 16KiB از Physical flash درون flash cache

 

** البته کپی دیتا از DRAM Read Cache مربوط به node در زمانیکه 90 درصد فضای آن پر شده باشد به داخل AFC باید شرایط زیر را داشته باشد، یعنی داشتن شرایط زیر در مورد دیتا باعث میشود read data به AFC کپی شود در غیر اینصورت فضای CMP باید free شود برای استفاده مجدد، به کپی دیتا به داخل AFC، De-staged هم میگوییم که این انتقال باید شرایط زیر را داشته باشد:

 

  • دیتایی که در DRAM Cache قرار گرفته است باید به عنوان random read با بلاک سایز کوچکتر از 64KiB باشد.
  • دیتایی که در DRAM Cache قرار گرفته است باید به عنوان random write با بلاک سایز کوچکتر از 64KiB باشد و این random write باید تبدیل شود به Read CMP. تبدیل شدن به این حالت زمانیست که دیتا از کش روی دیسک رایت شود در این حالت وقتی write data روی CMP بر روی back-end array نوشته میشود و flush میگردد از کش، تبدیل میشود به Read Data CMP.
  • دیتا نباید نتیجه یک Sequential read باشد.
  • دیتا نباید Read CMP شده باشد که نتیجه یک sequential write باشد که از کش flush گردیده است.
  • دیتا نباید Read CMP باشد که از قبل یک Write CMP بوده است که بلاک سایز آن بزرگتر از 64KiB بود و حالا flush شده است.

وقتی یک page از دیتای read از داخل DRAM Cache با داشتن شرایط بالا به AFC کپی میشود، این دیتا کپی میشود به داخل FMP و این دیتا در صفی قرار میگیرد به نام LRU = Least Recently Used که مدیریت و بهینه سازی آن بر عهده AFC میباشد این صف در واقع برای ردیابی دیتای کپی شده از لحاظ اولویت و تعداد استفاده و read شدن توسط سرور است که در کجای صف قرار بگیرد که اگر این page از دیتا بتواند در بالاترین اولویت این صف قرار بگیرد و در صورت حفظ این موقعیت میتواند بی پایان در AFC باقی بماند.

دارای 5 سطح میباشد که به شرح زیر است:

  1. Dormant

پایین ترین سطح از لحاظ اولویت میباشد که شامل دیتاهای invalid یا دیتاهای valid که از لحاظ دسترسی توسط سرور دارای محدودیت هستند از زمانیکه وارد flash cache شده اند. یک FMP که در سطح Dormant است میتواند مستقیما به سطح Norm ارتقا یابد اگر برای نگهداری یک page جدید وارد شده به AFC استفاده شود و میتواند به سطح Warm ارتقا یابد اگر مورد استفاده یک سرور قرار بگیرد

2.Cold

پیج ها هرگز از سطح dormant به این سطح نمی آیند و همچنین در صورت ارتقا از این سطح به سطح warm میروند و یا یک FMP میتواند از norm به این سطح نزول کند

  1. Norm

در آغاز De-stage شدن یک DRAM CMP به داخل Flash Cache، در این سطح قرار میگیرد که با یکبار دسترسی  به سطح warm ارتقا میابد.

  1. Warm

پیج هایی که در این سطح قرار دارند در صورت 2 بار دسترسی به سطح Hot ارتقا می یابند

  1. Hot

پیج ها که از warm به این سطح ارتقا یافته است برای Hit های بعدی در همین سطح باقی میماند