1) 主机I / O控制器中的L R U缓存
L R U在主机I / O控制器中也能很好地工作,正像在存储子系统中一样。主机I / O控制器的缓存比子系统中的缓存更快,但不如主机内存缓存速度快。像L R U其他的实现方案一样,将数据装入缓存所花费的额外开销很少。
2) 主机I / O控制器中的预先读缓存
在主机控制器中,效率最高的缓存控制器实现是使用缓存控制器电路,就像存储子系统中的缓存控制器一样。同时,这个方法还减轻了系统C P U的负荷。为了将数据传送到缓存,主机控制器必须通过存储路径发出I / O请求给子系统。因为预先读缓存通常用于大量流式数据的应用,且应用的I / O请求和预先读缓存在同一I / O路径上传输,所以可能产生存储路径的拥挤现象。
3) 主机I / O中的透写缓存
主机I / O控制器既能实现透写缓存,也能实现回写缓存。像其他透写缓存的实现方案一样,主机I / O中实现的透写缓存也是最保守的方法,它丢失数据的可能性比主机内存中实现的透写缓存更小,但比存储子系统中实现的缓存稍微大一些。与主机内存缓存实现相同,为了防止断电时的数据丢失,需要使用主机系统的U P S。
4)主机I / O控制器中的回写缓存
主机I / O控制器也能够实现回写缓存。类似于主机内存回写缓存,这种回写缓存需要由系统的U P S保护,这样当累积在缓存中的数据被刷新到非易失存储时,仍然保持缓存的数据可访问性。