一种缓存管理器和闪存转换层协调工作的方法

文档序号:6441414阅读:167来源:国知局
专利名称:一种缓存管理器和闪存转换层协调工作的方法
技术领域
本发明涉及闪存存储技术领域,特别涉及一种缓存管理器和闪存转换层协调工作的方法。
背景技术
闪存具有随机访问速度快、抗震动、能耗低等优点。近年来,随着闪存存储容量的增加以及价格的降低,闪存得到了越来越广泛的应用。在大量桌面计算机中,已经装备了以闪存为介质的固态硬盘。然而,闪存的存储单元只有在擦除后才能写数据,因此不能执行本地更新操作。此外,闪存的存储单元擦除次数也是有限的。缓存管理器和闪存转换层是提高闪存的性能和寿命的两种技术手段。然而,在目前的缓存管理器和闪存转换层设计中,二者是独立工作的,因此,二者不能协调工作。也就是说,缓存管理器知道当前要替换哪个数据,以及不久的将来要替换哪些数据,但是不知道闪存的物理存储信息;而闪存转换层具有全部闪存的物理存储信息,但是只知道当前要更新哪个数据,而不知道不久的将来要更新哪些数据。二者的独立工作影响了闪存性能以及闪存寿命的提高。因此,降低二者之间的信息差,使二者协调工作,成为提高闪存性能和闪存寿命必须要解决的重要问题。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何提供一种缓存管理器和闪存转换层协调工作的方法,以降低缓存管理器和闪存转换层之间的信息差,使二者协调工作,进而提高闪存性能和闪存寿命。( 二 )技术方案为解决上述技术问题,本发明提供一种缓存管理器和闪存转换层协调工作的方法,其包括步骤A 缓存管理器提供多个替换备选项给闪存转换层;B 所述闪存转换层根据所述替换备选项,以及闪存的当前物理存储信息,发送响应信息给所述缓存管理器;C 所述缓存管理器根据所述响应信息,执行相应的缓存管理操作或者提供相应的传递数据给所述闪存转换层;D 所述闪存转换层无操作,或者在接收到所述传递数据后执行相应的转换层操作。优选地,在所述步骤D之后还包括步骤E 所述缓存管理器根据所述响应信息,无操作或者释放所述响应信息对应的逻辑块的所有数据。优选地,所述响应信息包括操作类型和操作对象两部分。优选地,所述操作类型包括替换操作、更新操作和合并操作。优选地,当所述响应信息的操作类型为替换操作时,相应的操作对象为所述替换
3备选项;当所述响应信息的操作类型为更新操作时,相应的操作对象为所述替换备选项; 当所述响应信息的操作类型为合并操作时,相应的操作对象为一个逻辑块。优选地,所述步骤C具体包括步骤Cl 所述缓存管理器接收所述响应信息,提取所述响应信息的操作类型和操作对象;C2:判断所述响应信息的操作类型是否是替换操作,如果是,将所述响应信息对应的替换备选项的数据替换出缓存;否则,执行步骤C3 ;C3:判断所述响应信息的操作类型是否是更新操作,如果是,将所述响应信息对应的替换备选项的数据作为第一传递数据提交给所述闪存转换层;否则,将所述响应信息对应的逻辑块在缓存中的脏数据作为第二传递数据提交给所述闪存转换层。优选地,所述步骤D具体包括步骤Dl 所述闪存转换层判断是否接收到所述第一传递数据,如果是,所述闪存转换层将所述第一传递数据更新到闪存中;否则,执行步骤D2 ;D2:所述闪存转换层判断是否接收到所述第二传递数据,如果是,所述闪存转换层分配一个空闲物理块,并将所述响应信息对应的逻辑块的有效页写到所述空闲物理块上; 否则,所述闪存转换层无操作。优选地,所述步骤E具体包括步骤El 所述缓存管理器判断所述响应信息的操作类型是否是替换操作,如果是,无操作;否则,执行步骤E2;E2 所述缓存管理器判断所述响应信息的操作类型是否是更新操作,如果是,从缓存中释放所述第一传递数据;否则,从缓存中释放所述响应信息对应的逻辑块的所有数据。(三)有益效果本发明所述缓存管理器和闪存转换层协调工作的方法,缓存管理器预先将多个替换备选项发送给闪存转换层,闪存转换层结合闪存的当前物理存储信息,反馈响应信息并执行相应操作,从而降低了缓存管理器和闪存转换层之间的信息差,使二者协调工作,进而提高闪存性能和闪存寿命。


图1是本发明实施例所述的缓存管理器和闪存转换层协调工作的方法流程图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。图1是本发明实施例所述的缓存管理器和闪存转换层协调工作的方法流程图。如图1所示,所述方法包括步骤A 缓存管理器提供多个替换备选项给闪存转换层。所述缓存管理器使用现有的替换策略,但不是选择一个数据单元进行替换,而是选择多个替换备选项,并将这些替换备选项都提供给所述闪存转换层。步骤B 所述闪存转换层根据所述多个替换备选项,以及闪存的当前物理存储信息,发送响应信息给所述缓存管理器。所述响应信息包括操作类型和操作对象两部分。所述操作类型包括替换操作、更新操作和合并操作。当所述响应信息的操作类型为替换操作时,相应的操作对象为所述替换备选项;当所述响应信息的操作类型为更新操作时,相应的操作对象为所述替换备选项;当所述响应信息的操作类型为合并操作时,相应的操作对象为一个逻辑块。步骤C 所述缓存管理器根据所述响应信息,执行相应的缓存管理操作或者提供相应的传递数据给所述闪存转换层。所述步骤C具体包括步骤Cl 所述缓存管理器接收所述响应信息,提取所述响应信息的操作类型和操作对象;步骤C2 判断所述响应信息的操作类型是否是替换操作,如果是,将所述响应信息对应的替换备选项的数据替换出缓存;否则,执行步骤C3 ;步骤C3 判断所述响应信息的操作类型是否是更新操作,如果是,将所述响应信息对应的替换备选项的数据作为第一传递数据提交给所述闪存转换层;否则,将所述响应信息对应的逻辑块在缓存中的脏数据(即经过修改的数据)作为第二传递数据提交给所述闪存转换层。步骤D 所述闪存转换层无操作,或者在接收到所述传递数据后执行相应的转换层操作。所述步骤D具体包括步骤Dl 所述闪存转换层判断是否接收到所述第一传递数据,如果是,所述闪存转换层将所述第一传递数据更新到闪存中;否则,执行步骤D2 ;步骤D2 所述闪存转换层判断是否接收到所述第二传递数据,如果是,所述闪存转换层分配一个空闲物理块,并将所述响应信息对应的逻辑块的有效页写到所述空闲物理块上;否则,所述闪存转换层无操作。所述响应信息对应的逻辑块的有效页可能来自所述第二传递数据或者闪存,来自闪存的部分由所述闪存转换层管理,所以无需传递。步骤E 所述缓存管理器根据所述响应信息,无操作或者释放所述响应信息对应的逻辑块的所有数据。所述步骤E具体包括步骤El 所述缓存管理器判断所述响应信息的操作类型是否是替换操作,如果是,无操作(即此时不再需要进行操作);否则,执行步骤E2 ;步骤E2 所述缓存管理器判断所述响应信息的操作类型是否是更新操作,如果是,从缓存中释放所述第一传递数据;否则,从缓存中释放所述响应信息对应的逻辑块的所有数据。这里的所有数据包括所述第二传递数据和所述响应信息对应的逻辑块在缓存中未经修改的干净数据。本发明实施例所述缓存管理器和闪存转换层协调工作的方法,缓存管理器预先将多个替换备选项发送给闪存转换层,闪存转换层结合闪存的当前物理存储信息,反馈响应信息并执行相应操作,从而降低了缓存管理器和闪存转换层之间的信息差,使二者协调工作,进而提高闪存性能和闪存寿命。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种缓存管理器和闪存转换层协调工作的方法,其特征在于,包括步骤A 缓存管理器提供多个替换备选项给闪存转换层;B 所述闪存转换层根据所述替换备选项,以及闪存的当前物理存储信息,发送响应信息给所述缓存管理器;C 所述缓存管理器根据所述响应信息,执行相应的缓存管理操作或者提供相应的传递数据给所述闪存转换层;D 所述闪存转换层无操作,或者在接收到所述传递数据后执行相应的转换层操作。
2.如权利要求1所述的方法,其特征在于,在所述步骤D之后还包括步骤E所述缓存管理器根据所述响应信息,无操作或者释放所述响应信息对应的逻辑块的所有数据。
3.如权利要求2所述的方法,其特征在于,所述响应信息包括操作类型和操作对象两部分。
4.如权利要求3所述的方法,其特征在于,所述操作类型包括替换操作、更新操作和合并操作。
5.如权利要求4所述的方法,其特征在于,当所述响应信息的操作类型为替换操作时, 相应的操作对象为所述替换备选项;当所述响应信息的操作类型为更新操作时,相应的操作对象为所述替换备选项;当所述响应信息的操作类型为合并操作时,相应的操作对象为一个逻辑块。
6.如权利要求5所述的方法,其特征在于,所述步骤C具体包括步骤Cl 所述缓存管理器接收所述响应信息,提取所述响应信息的操作类型和操作对象;C2:判断所述响应信息的操作类型是否是替换操作,如果是,将所述响应信息对应的替换备选项的数据替换出缓存;否则,执行步骤C3 ;C3:判断所述响应信息的操作类型是否是更新操作,如果是,将所述响应信息对应的替换备选项的数据作为第一传递数据提交给所述闪存转换层;否则,将所述响应信息对应的逻辑块在缓存中的脏数据作为第二传递数据提交给所述闪存转换层。
7.如权利要求6所述的方法,其特征在于,所述步骤D具体包括步骤Dl 所述闪存转换层判断是否接收到所述第一传递数据,如果是,所述闪存转换层将所述第一传递数据更新到闪存中;否则,执行步骤D2 ;D2:所述闪存转换层判断是否接收到所述第二传递数据,如果是,所述闪存转换层分配一个空闲物理块,并将所述响应信息对应的逻辑块的有效页写到所述空闲物理块上;否则, 所述闪存转换层无操作。
8.如权利要求7所述的方法,其特征在于,所述步骤E具体包括步骤El 所述缓存管理器判断所述响应信息的操作类型是否是替换操作,如果是,无操作; 否则,执行步骤E2;E2 所述缓存管理器判断所述响应信息的操作类型是否是更新操作,如果是,从缓存中释放所述第一传递数据;否则,从缓存中释放所述响应信息对应的逻辑块的所有数据。
全文摘要
本发明公开了一种缓存管理器和闪存转换层协调工作的方法,涉及闪存存储领域。所述方法包括步骤缓存管理器提供多个替换备选项给闪存转换层;闪存转换层根据多个替换备选项,以及闪存的当前物理存储信息,发送响应信息给缓存管理器;缓存管理器根据所述响应信息,执行相应的缓存管理操作或者提供相应的传递数据给闪存转换层;闪存转换层无操作,或者在接收到传递数据后执行相应的转换层操作。所述方法,缓存管理器预先将多个替换备选项发送给闪存转换层,闪存转换层结合闪存的当前物理存储信息,反馈响应信息并执行相应操作,从而降低了缓存管理器和闪存转换层之间的信息差,使二者协调工作,进而提高闪存性能和闪存寿命。
文档编号G06F12/12GK102567229SQ20111042146
公开日2012年7月11日 申请日期2011年12月15日 优先权日2011年12月15日
发明者廖学良, 胡事民 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1