新闻中心
联系我们
Contact us
Contact us
- 总部电话010-51727811
- 客服热线400 779 6696
- 更多联系信息
磁盘缓存的组件的更多讨论
时间:2012-08-10 09:21 来源:飞客数据恢复 作者:飞客数据恢复工程师
磁盘缓存的组件相对较少,其目的是为了增强性能。设计和实现缓存控制器有许多不同的方法。
大部分缓存控制器提供的基本组件为:
数据存储设备,通常为内存
定位缓存数据的索引
数据装入器
老化指示器
丢弃处理器
“脏”块指示器(用于回写缓存)
回写处理器
下面分别简要地介绍它们。
1.缓存设备
磁盘缓存通常把数据存放在易失存储设备中。内存技术由设备、子系统或系统的制造商们决定。一般而言,磁盘缓存内存是市场上出售的最昂贵的内存之一。
2.定位缓存数据的索引
存储在磁盘缓存中的数据必须能很快地恢复。如果缓存未命中,需要的数据将必须从慢速的非易失存储中读出,因此,很长时间的缓存数据搜索是不可接受的。缓存的索引方法是决定数据如何被放置在缓存中。
基本的索引方法有两种:一种为直接映射,另一种为联合索引。直接索引保留一些位来表示非易失存储的每一个可用块。假如这个块在缓存中,它被标为“lit”,否则为“off”。根据这些位地址,可以立即检查块I/O请求。联合映射稍为复杂一些,它建立在缓存中的若干非易失存储段范围搜索的基础上。对比这两种映射,直接映射的缓存更快,但要求为存储设备或子系统的每一个存储块(段)保留一位,以表明这些块或段的位置(即在缓存中,还是在非易失存储中),因此,在可扩展性上受到了限制。联合缓存则需要花更长的时间确定数据是否在缓存中,但对索引缓存的资源要求更少。
3.数据装入器
缓存必须以某种方式存放数据,否则,它就做不了任何工作。缓存数据的存放既可能发生在正常的I/O操作(LRU缓存)中,也可以作为一个分离的进程(预先读缓存)而进行。当作为写操作的一部分而将数据拷贝到缓存中时,缓存的数据装入器也可能被激活。
4.老化指示器/丢弃处理器
老化指示器的作用是决定什么数据需要被丢弃。本质上,数据装入器总是试图把新的数据装入缓存,这就意味着必须有某种办法丢弃认为近期最不可能使用的数据。为了完成这个任务,就需要有某种量度(或方法)确定数据丢弃的先后顺序,并把这个顺序展示给缓存处理器。
丢弃处理器按照老化指示器的标记,决定将撤除哪些老化数据。
5.“脏”块指示器(用于回写缓存)
在回写缓存包含的数据中,有一些还没有写到非易失存储。为了保证它们最终被写入非易失存储,需要给它们做上标志,这个标志就是所谓的“脏”位。在正常情况下,“脏”位是缓存索引的一部分,类似于文件系统中的备份位,标志新的数据需要保存。
6.回写处理器
回写处理器定期地在回写缓存的缓存控制器中运行,负责完成所有对非易失存储的写操作,包括在断电以后产生的写。回写处理器也能利用脏位或其他办法决定写什么和什么时候写。