发明名称 数据存储控制器及用于管理其中的高速缓存数据的方法
摘要 在数据存储控制器中,将被存取的轨道临时存储在高速缓存中,其中写入数据存储在第一和第二高速缓存中,并且读取数据存储在第二高速缓存中。维护对应的最近最少使用(LRU)列表,以保存识别存储在高速缓存中的轨道的条目。当保存用于第一高速缓存的条目的列表(A列表)满时,扫描该列表,以识别未修改(读取)数据,其可以从高速缓存丢弃,以便为新数据腾出空间。在扫描之前或期间,将修改(写入)数据条目移动到列表的最近使用(MRU)端,从而允许扫描以高效的方式进行,并且减少扫描必须跳过修改条目的次数。可选地,可以将状态位与每个修改数据条目相关联。当将修改条目移动到A列表的MRU端而没有被请求读取时,将其状态位从初始状态改变为第二状态,从而表示它是要被丢弃的候选者。如果已经将状态位设置为第二状态,则让其保持不变。如果由于被请求读取而将修改轨道移动到A列表的MRU端,则将对应的A列表条目的状态位改变回到第一状态,从而防止该轨道被丢弃。这样,仅仅在必要时才允许将写入轨道保留在第一高速缓存中。
申请公布号 CN1967507A 申请公布日期 2007.05.23
申请号 CN200610132168.3 申请日期 2006.10.12
申请人 国际商业机器公司 发明人 斯蒂文·R·鲁维;达尔蒙德拉·S·莫哈;宾尼·S·吉尔;约瑟夫·S·海德二世
分类号 G06F12/12(2006.01) 主分类号 G06F12/12(2006.01)
代理机构 中国国际贸易促进委员会专利商标事务所 代理人 康建峰
主权项 1.一种用于管理数据存储控制器中的高速缓存数据的方法,包括:将存储器空间分配给数据存储控制器中的第一高速缓存,第一高速缓存具有最近使用(MRU)端和最近最少使用端(LRU);将存储器空间分配给数据存储控制器中的第二高速缓存,第二高速缓存具有比第一高速缓存更少的存储器空间,并且具有最近使用(MRU)端和最近最少使用端(LRU);将读取数据条目临时存储在第一高速缓存中;将写入数据条目临时存储在第一和第二高速缓存中;接收存取第一和第二高速缓存中的数据条目的请求;在读取期间,将被存取并且在第一高速缓存中找到的数据条目从第一高速缓存中的其当前位置移动到第一高速缓存的MRU端;在写入期间,将被存取并且在第二高速缓存中找到的数据条目从第二高速缓存中的其当前位置移动到第二高速缓存的MRU端;当第一读取数据条目要被升级到第一高速缓存时:如果在第一高速缓存中可获得存储器空间,则将存在于第一高速缓存中的所有数据条目朝向第一高速缓存的LRU端移动,以容纳第一读取数据条目;如果在第一高速缓存中不可获得存储器空间:将最靠近第一高速缓存的LRU端的写入数据条目中的至少一个,从第一高速缓存中的当前位置移动到第一高速缓存的MRU端,同时将读取数据条目从第一高速缓存中的当前位置移动到第一高速缓存的LRU端;以及从第一高速缓存的LRU端丢弃读取数据条目;以及将第一读取数据条目升级到第一高速缓存的MRU端中;而当第一写入数据条目要被升级到第一高速缓存时:如果在第一高速缓存和第二高速缓存中都可获得存储器空间,则将存在于第一和第二高速缓存中的所有数据条目分别朝向第一和第二高速缓存的LRU端移动,以容纳第一写入数据条目;如果在第一高速缓存中不可获得存储器空间:将最靠近第一高速缓存的LRU端的写入数据条目中的至少一个,从第一高速缓存中的当前位置移动到第一高速缓存的MRU端,同时将读取数据条目从第一高速缓存中的当前位置移动到第一高速缓存的LRU端;以及从第一高速缓存的LRU端丢弃读取数据条目;以及将第一写入数据条目升级到第二高速缓存的MRU端中,以及到第一高速缓存的MRU端中。
地址 美国纽约