Skip to content

通过数据定位优化磁盘的缓存(二)

2013-12-16 16:20:04   来源:华军科技数据恢复

3.在主机I/O控制器中实现磁盘缓存

历史上,关于实现缓存的研究和开发有很多,但大多数是在主机I/O控制器上进行的,它可能比其他各种类型实现的总和还要多。这个结果来源于系统和子系统的主要生产公司,如DEC、IBM、惠普和STK等,这么多年来,这些公司开发出大量的主机控制器,它们既与主机操作系统实现密不可分,也与子系统的实现密不可分。

主机I/O控制器中缓存算法的实现方案有两种:一种是在运行于主机中的驱动程序中,另一种是用位于主机I/O控制器上的缓存控制器。但为了确保最优的性能和减轻CPU的负荷,大部分主机I/O控制器的缓存实现使用后一种方法。
当分析主机I/O缓存控制器的配置时,需要注意的是缓存实现是位于主机系统的I/O总线(即PCI),而不是存储I/O总线(即SCSI)。即I/O路径变得更短,因此,与子系统中的缓存相比,主机控制器中的缓存的访问速度更快。例如,对于带有PCII/O总线的主机系统,它具有的最大传输速度为132MB/s。相反,宽UltraSCSI总线的最大速度是40MB/s。然而,如果将它同100MB/s传输速度的光纤路径相比,其优势却并不明显。

虽然总线的速度对缓存很重要,但人们通常更关注各种总线的相对速度和最优的缓存位置。切记,算法与应用的匹配远比最大的传输速度重要。

主机控制器上的缓存容量受限于它们所携带的内存量,但这对于正在使用缓存的应用可能影响并不大。由于在系统中加入充分的内存可能很困难,所以难于为缓存配置希望的内存量。例如,对于一个装有128MBRAM的PC系统,为了支持一个200GB的磁盘子系统,再增加256MB的RAM可能并不容易。

此外,相关主机控制器中的缓存问题是所需要的缓存总量。假如在同一存储总线或路径上有两个子系统,那么,控制器中的单个缓存池可以支持这两个子系统。假如这个配置使用双主机控制器,则需要配置另外的缓存内存。

 
Back To Top
Search