می توان FAST Cache را با " DRAM cache " مقایسه نمود، تنها باید بخاطر داشته باشید که FAST Cache از Flash دیسک ها ساخته شده است، پس دارای ظرفیت بسیار بیشتری است. و در مقابل DRAM Cache دارای سرعتی بمراتب بیشتر از FAST Cache می باشد.
DRAM cache : بخشی از Storage است که باعث افزایش عملکرد Storage می شود. نحوه عملکرد آن بدین گونه است که بصورت Trasparent ( شفاف و نامحسوس ) داده ها را در بروی یک Storage بسیار پرسرعت ( DRAM ) ذخیره می نماید و آنگاه به هارد دیسک ها منتقل می کند. این فرآیند باعث افزایش سرعت سامانه می شود. اما این گونه Cache ها بدلیل قیمت بسیار گزاف DRAM ، از لحاظ ظرفیت بسیار محدود هستند.
FAST Cache : تکنولوژی مکمل برای DRAM Cache است. این تکنولوژی به شما امکان بهره برداری از ظرفیتهای Cache چند ترابایتی را فراهم می آورد.
FAST Cache چگونه کار می کند ؟
داده ها روی یک LUN که درگیر دسترسی های خواندن و نوشتن می شوند به FAST Cache، ارائه می شوند. بر اساس تعداد و نوع دسترسی ( خواندن و/یا نوشتن ) FAST Cache درگیر خواهد شد. بیاد داشته باشید که اگر I/O ورودی از لایه Extreme Performance مربوط به FAST VP خارج شود، Fast Cache در این مورد هیچ دخالتی انجام نخواهد داد.
مراحل کار بدین شکل است. در ابتدا فرض کنید Fast Cache خالی است :
- هنگامی که اولین I/O توسط نرم افزار فرستاده شد، FAST Cache Policy Engine به Memory Map در Fast Cache، نگاه می کند. در این مرحله با توجه به فرض، Memory Map نیز خالی است، پس در نتیجه به Chunk ها از روی هارد دیسک های LUN دسترسی پیدا می کند. به این فرآیند Fast Cache Miss گفته می شود. EMC ادعا می کند که که این فرآیند بررسی Memory Map برای هر دسترسی، تاثیر بسیار ناچیزی بروی عملکرد Storage دارد.
- اگر نرم افزار بطور مدام دسترسی به Chunk را نیاز داشته باشد، Policy Engine آن Chunk را از هارد دیسک ها بروی FAST Cache کپی می کند. این عملیات را Promotion می نامند و به این دوره زمانی Warm UP Period برای FAST Cache گویند.
- زمانی که نرم افزار مجددا به Chunk نیاز داشت، Policy Engine بررسی می کند که آیا Chunk در FAST Cache وجود دارد یا خیر ( بر اساس Memory Map ). به این فرآیند FAST Cache Hit گویند. بدلیل اینکه نرم افزار از روی دیسک های Flash به داده دسترسی می یابد، نرم افزار صاحب Response Times بسیار کوچک بهمراه IOPS بسیار بالا می شود.
- Reads
I/O ورودی از نرم افزارها و هاستها با FAST Cache Memory Map مقایسه می شوند. اگر درMemory MAP موجود Chunk درخواستی وجود داشت، Chunk از روی FAST Cache خوانده می شود و در اختیار درخواست کننده قرار می گیر. در صورت عدم وجود Chunk درخواست I/O ورودی مسیری عادی خود را در پیش می گیرد و Chunk را از روی هارد دیسک های مربوط به LUN می خواند.
- Writes
اگر I/O ورودی، درخواستی مبتنی بر نوشتن Chunk بروی FAST Cache باشد، در صورتی که Write Cache برای LUN غیر فعال نباشد، DRAM Cache خود را با یک Write جدید بروز رسانی می کند، و Acknowledgment را برای هاست ارسال می کند. بیاد داشته باشید که داده های شما مستقیما بروی FAST Cache نوشته نمی شود بلکه در ابتدا بروی DRAM Cache نوشته می شود و زمانی که نیار است از DRAM Cache خارج شود بروی FAST Cache نوشته می شود.
Write-Back Operation :
Write-Back Operation در واقع وضعیتی است که در آن داده ها از FAST Cache بروی هارد دیسک های Back End منتقل می شوند. این فرآیند به هنگامی رخ می دهد که ظرفیت FAST Cache پر شده و دیگر فضای خالی برای فرآیند FAST Cache وجود ندارد. پس داده ها را به هارد دیسکها منتقل می نماید تا FAST Cache دارای فضای خالی شود.