سیستم ذخیره سازی block-base سیستم های محاسباتی را با سطح دسترسی بلاک به والیوم های ذخیره سازی تجهیز می نماید. در این سیستم ها سیستم فایل بر روی سیستم محاسباتی ساخته می شود و داده ها از طریق شبکه و در سطح بلاک قابل دسترسی هستند. این نوع سیستم ذخیره سازی می تواند بر اساس scale-up و یا scale-out پیاده سازی شود.
سیستم ذخیره سازی block-base شامل یک یا چند کنترلر و دستگاه ذخیره سازی می باشد. کنترلر شامل سه اجزاء کلیدی front-end ، cache و back-end می باشد. ابتدا درخواست های I/O از سیستم محاسباتی در پورت front-end دریافت شده و سپس برای ذخیره و بازیابی داده ها در سیستم ذخیره سازی، از طریق کش و back-end مورد پردازش قرار می گیرند. اگر داده های درخواستی در کش موجود باشند، درخواست های خواندن مستقیماً از کش سرویس دهی می شوند. در سیستم های ذخیره سازی هوشمند و مدرن، سه عنصر کلیدی فوق (front-end, cache, back-end) معمولاً در یک board با هم یکپارچه شده اند که storage processor یا storage controller نامیده می شوند.
Front-End
front-end رابط بین سیستم ذخیره سازی و سیستم محاسباتی می باشد، و شامل دو بخش پورت و کنترلر می باشد. معمولاً در front-end برای دسترس پذیری بالا (high availability) از چند کنترلر استفاده می شود، و هر کنترلر جهت اتصال به چند سیستم محاسباتی، شامل چند پورت می باشد. هر کنترلر front-end سیستم پردازشی دارد که انواع پروتکل های انتقال از قبیل Fibre Channel, iSCSI, FICON, FCOE را برای ارتباطات ذخیره سازی پشتیبانی می کند. کنترلرهای front-end داده ها را از طریق bus داخلی از کش مسیریابی می کنند و زمانیکه کش ، درخواست نوشتن داده ها را دریافت می کند، کنترلر یک پیام تایید (acknowledgement) به سیستم ذخیره سازی ارسال می نماید.
Cache
کش حافظه نیمه رسانایی است که برای کاهش زمان مورد نیاز برای سرویس دهی به در خواست های I/O سیستم محاسباتی ، داده ها را بصورت موقت در خود ذخیره می کند. در سیستم های ذخیره سازی هوشمند نوشتن داده ها ابتدا در کش و سپس در دستگاه ذخیره سازی انجام می شود و کش با قطع ارتباط مستقیم بین سیستم محاسباتی و دستگاه ذخیره سازی مانند هارد دیسک، SSD عملکرد سیستم ذخیره سازی را افزایش می دهد.
اگر دستگاه های ذخیره سازی back-end هاردها دیسک باشند، به دلیل اینکه مکانیکی و چرخشی بوده و کندترین عناصر یک سیستم ذخیره سازی هوشمند می باشند، تفاوت افزایش عملکرد با استفاده از کش بسیار چشمگیر خواهد بود. دسترسی به داده ها در دیسک های چرخشی به دلیل seek time و rotational latency معمولاً چندین میلی ثانیه است، در حالیکه دسترسی به داده ها در کش بسیار سریع و معمولاً یک میلی ثانیه است.
Back-End
Back-End رابط بین کش و درایوهای ذخیره سازی فیزیکی می باشد و شامل پورت و کنترلر back-end می باشد، که تبادل داده ها بین کش و درایوهای فیزیکی را کنترل می کند، بطوریکه داده ها از کش به back-end فرستاده شده و سپس به درایو های ذخیره سازی مقصد هدایت می شوند. درایوهای فیزیکی به پورت های backe-end متصل می شوند. کنترلر back-end در هنگام انجام عملیات خواندن و نوشتن با درایوهای ذخیره سازی ارتباط برقرار می کند، و الگوریتم های پیاده سازی شده در آن، تشخیص خطا و اصلاح را همراه با عملکرد RAID فراهم می نماید.
برای حفاظت از اطلاعات (data protection) و دسترس پذیری بالا (high availability)، سیستم های ذخیره سازی با دو کنترلر و چندین پورت پیکربندی می شوند، که اگر در یک کنترلر یا یک پورت خرابی اتفاق بیفتد، مسیرهای دیگری برای درایوهای ذخیره سازی فیزیکی فراهم نمایند. اگر درایوهای ذخیره سازی نیز به دو پورت مجهز باشند، و هر پورت هر درایو به یک کنترلر جداگانه متصل شود، قابلیت اطمینان پذیری فوق العاده افزایش می یابد و همچنین امکان استفاده از توازن بار (load balancing) هم میسر می شود.
درایوهای ذخیره سازی فیزیکی به کنترلر back-end دستگاه ذخیره سازی متصل می شوند و داده ها را به صورت دائمی در خود می کنند. سیستم های ذخیره سازی هوشمند مدرن از انواع درایوهای ذخیره سازی مانند FC، SATA، SAS ، SSD و ترکیبی از آن ها پشتیبانی می کنند. معمولاً حجم های کاری با الگوی دسترسی قابل پیش بینی با ترکیبی از HDD ها و SSD ها کار می کنند، اما اگر حجم کاری تغییر کند و یا عملکرد بالا بصورت مداوم برای همه حجم های کاری مورد نیاز است، استفاده از SSD می تواند نیازهای عملکرد مطلوب را برآورده کند.