Level 2 cache, also called secondary cache, is a memory that is used to store recently accessed information. The goal of having the level 2 cache is to reduce data access time in cases when the same data was already accessed before. In modern microprocessors that incorporate data prefetching feature the level 2 cache may also be used to buffer program instructions and data that the processor is about to request from memory. This also reduces data access time. Please note that the level 2 cache is secondary to the CPU - it is not as fast as the level 1 cache, although it is usually much larger. All data that is requested from level 2 cache is copied to level 1 cache. Requested data stays in the secondary cache if it's an inclusive cache, and is removed from secondary cache if it's an exclusive cache. Secondary cache is usually unified, i.e. it is used to store both program instructions and program data.