2. 多级缓存
为了使某些类型的数据和应用达到非常好的工作状态,可同时使用L R U和预先读两种缓存。图5 -2 1就是这样一种配置。

多级缓存已经有几个成功地实现方案。理解多级缓存的关键在于两方面的问题,其一是被传回到非易失存储的写的方式,其二是每个缓存加在系统和存储网络的I / O传输量的影响。
一般而言,这些缓存应该在I / O路径上串行连接,因为并行方式的缓存将产生连贯性问题,这需要专门的硬件和软件来解决。缓存连贯性问题是今天存储工业界所面临的很困难的问题。这个挑战来源于:当I / O路径正处于很忙状态时,还需要建立同步缓存内容的通信机制。对于某些特别的数据“块”,两个连续的读请求实际上接受同样的数据。当实现多级缓存时,应服从某些一般的规则:
应将I / O路径上负担最小的缓存组件放在靠近C P U的地方,通常L R U缓存与C P U最靠近。即I / O路径上负担最重的缓存组件应放在离存储子系统最近的地方。
其次,在没有后备电池保护的情况下,不要使用回写缓存。相比透写缓存来说,主机中的回写缓存将导致更好的事务处理性能。然而,为了保证在数据刷新到非易失存储后,最靠近C P U的缓存数据是可操作的,必须对I / O路径上的每个组件使用U P S保护。假如事务处理不需要回写缓存,则没有必要使用它。