برای اینکه بهتر متوجه شوید کش چیست به طور خلاصه Cash ها، باعث افزایش سرعت Read و Write میشوند.
وقتی Application میخواهد یک عبارتی را روی دیسک Write کند این عمل به دو حالت شکل میگیرد.
بررسی Cash هنگام عمل Write
-
Write Trough Cash :
- به این شکل که Application فرمان Write عبارتی را به Cash میدهد و این دیتا ابتدا وارد Cash شده و سپس از Cash وارد دیسک میشود. وقتی دیتا در دیسک write شد ، دیسک به Application ، Ack را میفرستد.
-
Write Back Cash :
- در این روش Application به دیسک دیتایی را برای write میفرستد، ودیتا وارد Cash میشود و وقتی دیتا وارد Cash شد Ack را به Application میفرستد و سپس دیتا از Cash وارد دیسک میشود، و این روش سریعتر از حال Write Through Cash است.
اگر Write Through به Write Back تبدیل شود، ۴ برابر افت Performance خواهد داشت. Application فرمان Write دیتا را میدهد، دیتا به Cash منتقل میشود. در این حالت با قطع برق، اطلاعات Cash میپرد ، برای جلوگیری از این موضوع، در سرور یک باتری قرار میدهند به نام Smart Storage Battery . این باتری دیتا را در هنگام قطع برق در کش نگه میدارد و با وصل جریان برق، اطلاعات از کش به دیسک منتقل میشود.
اگر باتری روی سرور به هر دلیل خراب شود Write Back به Write Through تبدیل میشود و برای اینکه ببینید باتری خراب شده یا نه، از ابزاری به اسم SSA استفاده میشود.
ولی در صورتی که برق به مدت طولانی مثلا تا بیشتر از سه روز برق نیاید دیگر باتری این قابلیت را ندارد که دیتا را نگه دارد در این حالت از کشهایی استفاده میشود که قابلیت پشتیبانی از دیتا را در خود به هنگام قطع طولانی برق دارند. این کش ها را با عنوان FBWC میشناسند.
مطالعه بیشتر : تعویض سرور قدیمی با سرور جدید
خب حالا که متوجه شدید کش چیست به سراع انواع آن می رویم .
انواع کش
۱- FBWC : Flash Backed Write Cash
۲- BBWC : Battery Backed Write Cash
در BBWC، روی کش فقط Dram وجود دارد. ولی FBWC یک سری DRAM و یک سری Flash دارد. زمانی که برق میرود اطلاعات از DRAM به FLASH منتقل میشود.
BBWC روی سرورهای G6، G7 بیشتر استفاده میشد در حالیکه امروزه روی سرورهای G9 به بعد ، از FBWC استفاده میشود.
بررسی Cash هنگام عملیات Read
وقتی دیتا در دیسک Write میشود به شکل Block در دیسک ذخیره میشود. اگر Application فرمان read را برای یک دیتایی مثلا A1 را صادر میکند، ابتدا درون Cash را جستجو میکند، A1 را پیدا نمیکند و به سراغ دیسک میرود. A1 را پیدا میکند، A1 و پس از آن A2 و همینطور A3 را به Cash میآورد، به عبارت دیگر دیتا های مرتبط با آن دیتایی که Application دستور Read آنرا صادر کرده را به درون Cash منتقل میکند که این سبب افزایش سرعت Read میشود، به این مانیزم Read Ahead Cash گفته میشود.
Cash کنترلرها یک حجمی دارند که معمولا روی سرورهای G9 و یا G10، ۲G و یا ۴G است که یک قسمتی از این ظرفیت برای Read و قسمت دیگر برای Write است. اگر بخواهید ظرفیت کش را زیاد کنید باید یک SSD روی سرور بگذارید که برای اضافه کردن SSD، کنترلر باید License Smart Array را داشته باشد.
نکته دیگر این است که این SSD که به کش منتقل شده فقط برای عمل Read استفاده میشود ، برای write استفاده نمیشود. و برای اینکه بتوانید روی سرور قابلیت پشتیبانی از RAID مثلا RAID5 را داشته باشید، حتما باید کش اضافه (SSD) را تهیه نمایید.
بدون دیدگاه