زمانیکه سیستم محاسباتی یک درخواست خواندن را به سیستم ذخیره سازی ارسال می کند، کنترلر سیستم ذخیره سازی برای بررسی وجود داده های درخواستی در کش، تگ RAM کش را می خواند، اگر داده های درخواستی در کش موجود باشند cache hit یا read hit نامیده می شود، و بدون انجام هیچ عملیاتی در back-end سیستم ذخیره سازی، داده ها مستقیماً و با response time حدوداً یک میلی ثانیه سریعاً از کش به سیستم محاسباتی فرستاده می شوند.
اگر داده های درخواستی در کش موجود نباشند cache miss یا read miss نامیده می شود و داده ها باید از دستگاه ذخیره سازی خوانده شوند، در این صورت back-end به دستگاه ذخیره سازی مورد نظر دسترسی پیدا کرده و داده های درخواستی را از آن بازیابی می نماید، سپس داده ها در کش قرار گرفته و در نهایت با response time بیشتری از طریق front-end به سیستم محاسباتی ارسال می شوند.
البته در درخواست های خواندن ترتیبی که مجموعه ای پیوسته از بلاک های مرتبط مورد بازیابی قرار می گیرند از الگوریتم prefetch یا read-ahead استفاده می شود. در این الگوریتم بلاک های دیگری که هنوز توسط سیستم محاسباتی درخواست نشده اند و همجوار بلاک های درخواستی هستند هم از سیستم ذخیره سازی خوانده شده و در کش قرار می گیرند و هنگامی که سیستم محاسباتی درخواست خواندن این بلاک ها را ارسال می کند، از داخل کش بصورت cache hit خوانده می شوند. این فرآیند response time را که توسط سیستم محاسباتی تجربه می شود را بصورت چشمگیری سریع می نماید.
سیستم های ذخیره سازی هوشمند حجم های ثابت و متغیری را برای prefetch ارائه می دهند. در prefetch ثابت، میزان ثابتی از داده ها prefetch می شوند، که اگر حجم های I/O از طرف سیستم محاسباتی یکسان باشند مناسب ترین prefetch می باشد. در prefetch متغیر، میزان داده ها با حجم های I/O مختلف از طرف سیستم ذخیره سازی prefetch می شود. عملکرد خواندن از لحاظ نسبت read hit سنجیده شده و مربوط به کل درخواست های خواندن است و معمولا بصورت درصد بیان می شود که هر چه بیشتر باشد یعنی عملکرد خواندن بهتر است.