用于将数据高速缓存在固态存储设备上的装置、系统和方法制造方法及图纸

技术编号:7811828 阅读:174 留言:0更新日期:2012-09-28 00:30
本发明专利技术公开了一种用于将数据用固态存储设备来高速缓存的装置、系统和方法。该固态存储设备维护与在固态存储设备上进行的高速缓存操作以及固态存储设备的存储操作有关的元数据。所述元数据指示高速缓冲存储器中的有效数据以及关于非易失性高速缓冲存储器中已存储在后备存储器中的数据的信息。备份引擎通过非易失性高速缓存设备中的单元来运行并且将有效数据备份到后备存储器中。在疏导操作期间,疏导器确定数据是否有效和数据是否可丢弃。可在疏导操作期间删除有效且可丢弃的数据。该疏导器也可确定数据是否为冷数据,以确定是否可从高速缓存设备中删除数据。该高速缓存设备可向客户端提供与后备存储器具有相同大小的逻辑空间。该高速缓存设备可对客户端透明。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及将数据高速缓存在固态存储设备上,并且具体涉及维护与高速缓冲存储器以及用于管理高速缓冲存储器且进行疏导操作的固态存储设备有关的元数据。
技术介绍
高速缓存设备为用于使数据更迅速地存取在系统中的存储设备。高速缓冲存储器可通过减少将所述数据用于高速缓冲存储器中的操作的输入/输出(I/o)时间来显著地提高系统性能。一般来讲,高速缓冲存储器在相比于高速缓存设备具有更大存储容量、但具有更慢I/o时间的另一个存储设备之前实施。可充分理解高速缓冲存储器的有益效果,并且已在范围从CPU中的高速缓冲存储器到存储区域网络(SAN)中的高速缓冲存储器的各种环 境和规模下有利地实施了高速缓冲存储器。高速缓冲存储器的性质也可根据环境变化;例如,在单个计算机(诸如桌上型电脑或膝上型电脑)中,高速缓冲存储器可在易失性存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或其它中实施。目前,高速缓存疏导是无效的,因为其与其它存储器管理操作分离。
技术实现思路
固态存储设备可作为非易失性后备存储器的非易失性高速缓存设备来操作。固态存储设备可对采用由固态存储设备提供的逻辑空间的客户端透明。在一些实施方案中,固态存储设备可被配置为向客户端提供与后备存储器的物理大小相同的逻辑大小,使得固态存储设备向客户端提供与后备存储器具有相同大小的逻辑存储空间,而与固态存储设备的物理存储大小无关。作为另外一种选择或除此之外,固态存储设备可向客户端提供超出固态存储设备和后备存储器的物理存储容量的逻辑地址空间。固态存储设备可维护与在固态存储设备上进行的高速缓存操作和存储操作有关的元数据。存储元数据可包括但不限于与在固态存储设备上进行的顺序存储操作有关的元数据(例如所述设备上的客户端逻辑地址与存储单元之间的关联数据(associations)、存储日志元数据等)、与顺序存储操作有关的维护操作(例如存储恢复、无用单元收集、错误校正等)、存储介质的状态(例如耗损均衡性、可靠性、完整性等)等。存储元数据可包括将包括有效数据的存储单元与包括无效数据的存储单元进行区分的有效性指示符。存储单元可指固态存储设备上的任何可寻址存储位置。固态存储设备可将数据高速缓存在固态存储设备的存储单元中。高速缓存元数据可包括与存储在固态存储设备上的高速缓冲存储器有关的元数据、在固态存储设备上进行的高速缓存操作(例如存取模式等)、高速缓存管理(例如高速缓存清除和/或保留策略、高速缓存属性、高速缓存指令等)等。高速缓存元数据可包括识别可丢弃的数据的可丢弃性指示符。可丢弃数据可为已备份(例如存储)在后备存储器上的高速缓存数据。由固态存储设备维护的元数据可包括高速缓存条目,这些高速缓存条目可表示高速缓存在所述设备上的数据(例如高速缓存在固态存储设备的存储单元中的数据)。高速缓存条目可在识别数据在固态存储设备上的存储位置时,将(存储客户端的)逻辑地址与一个或多个存储位置(例如存储单元)关联;高速缓存条目可提供客户端逻辑地址与固态存储设备存储位置(例如存储单元)之间的索引或映射。在一些实施方案中,高速缓存条目可具有可变大小,并因此可引用固态存储设备上的存储单元的一部分、单个存储单元和/或多个存储单元。例如,第一高速缓存条目可包括单个存储单元上的第一数据量(例如单个存储单元的一部分上的256字节),但第二高速缓存条目可包括多个存储单元上的不同的第二数据量(例如多个存储单元或虚拟存储单元上的4千字节)。高速缓存条目可通过逻辑地址来索引,该逻辑地址响应于客户端存储请求可能能够快速有效地访问高速缓存条目。高速缓存条目可用于存储(和/或引用)共享元数据,包括与固态存储设备的顺序存储操作以及高速缓冲存储器相关的元数据。例如,固态存储设备的疏导器(如下所述)可存取与高速缓冲存储器有关的元数据,以有效地进行存储恢复和/或维护操作。类似地,在固态存储设备上操作和/或结合固态存储设备操作的高速 缓存管理器(如下所述)可存取元数据,以有效地管理高速缓冲存储器(例如做出与高速缓存清除和/或保留等有关的高速缓存策略决策)。在一些实施方案中,固态存储设备可提供可使元数据的部分暴露于存储客户端的存储接口(或通常为“接口”)。通过使用所述接口,存储客户端可配置固态存储设备(例如,设置高速缓存属性、高速缓存指令,发出TRIM命令等)。另外,所述接口可通过其来暴露“稀疏”或“精简配置”逻辑地址空间,这无需冗余地址转换层便可使存储客户端与固态存储设备进行交互(例如在完整的64位地址空间内)。在一些实施方案中,备份引擎可被配置为将高速缓存在固态存储设备上的数据备份到后备存储器中。当存储在后备存储器上时,与所述数据关联(例如与高速缓存条目和/或相应存储单元关联)的元数据可被更新以表明所述数据可丢弃。备份引擎可按时间顺序(从最旧至最新)循环遍历固态存储设备的存储单元。遍历可通过由固态存储设备维护的共享元数据(例如存储单元的倒排索引和/或顺序指示符)来激活。备份引擎的操作可被存储元数据告知;例如,备份引擎可忽略元数据指示为无效的与高速缓存条目关联(和/或关联存储单元中)的数据(例如数据由于恢复操作、连续写入、修改等已被移动至不同的存储位置)。在一些实施方案中,备份引擎以较低优先级运行(例如作为后台进程或操作)。如果需要,备份引擎可被配置为以较高优先级运行。例如,元数据可指示固态存储设备的物理存储容量、目标占用率、最大占用率和/或当前占用率。在当前占用率超出阈值(例如超出目标占用率、最大占用率或某个其它阈值)时,后台引擎可被配置为以较高优先级运行。存储恢复和维护操作可类似地被元数据告知。例如,被配置为恢复固态存储设备的存储分区的疏导器进程可使用元数据来优先化(例如在当前占用率超出阈值时,提高优先级)。疏导器在进行其数据恢复操作时,可存取与高速缓冲存储器相关的元数据。例如,疏导器可根据元数据来选择用于恢复的存储分区,可使用元数据来选择待保留的存储分区中的存储单元(例如移动至不同的存储分区)等。因此,在一些实施方案中,一种用于将数据高速缓存在固态存储设备上的方法可包括维护与在固态存储设备上进行的高速缓存操作和固态存储设备的存储操作有关的元数据;存取所述元数据以管理固态存储设备的存储操作;并且存取所述元数据以管理存储在固态存储设备上的高速缓冲存储器。可将与高速缓存操作有关的元数据和与存储操作有关的元数据存储在共享数据结构中。所述元数据可包括识别已存储在后备存储器上的存储单元的可丢弃性指示符,并且所述指示符可用于选择用于恢复的存储分区。高速缓存清除元数据(例如冷、热、温等)可用于选择用于恢复的存储分区和/或确定是否应当保留经选择进行恢复的存储分区中的存储单元。所述元数据可与高速缓存条目的逻辑地址关联,因此当相应数据的存储位置在固态存储设备上发生变化时,该元数据仍可与高速缓存条目关联。与高速缓冲存储器有关的元数据(例如共享高速缓存元数据)可用于管理固态存储设备的顺序存储操作,诸如存储分区恢复、无用单元收集、错误管理、顺序存储(例如基于日志的存储操作)等。与顺序存储操作有关的元数据(例如共享存储元数据)可用于管理高速缓冲存储器。例如,高速缓存操作诸如备份、高速缓存清除、占用、高速缓存数据移动等可被共享的存储元数据告知。所本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2009.09.08 US 61/240,573;2009.09.09 US 61/240,966;1.一种用于将数据高速缓存在固态存储设备上的方法,所述方法包括 维护与在固态存储设备上进行的高速缓存操作和所述固态存储设备的存储操作有关的元数据; 存取所述元数据以管理所述固态存储设备的存储操作;并且 存取所述元数据以管理存储在所述固态存储设备上的高速缓冲存储器。2.根据权利要求I所述的方法,其中与高速缓存操作有关的所述元数据和与存储操作有关的所述元数据存储在共享数据结构中。3.根据权利要求I所述的方法,其中所述元数据包括识别所述固态存储设备的已存储在后备存储器上的存储单元的可丢弃性指示符,所述方法还包括 使用所述可丢弃性指示符来选择用于恢复的存储分区。4.根据权利要求3所述的方法,所述方法还包括 使用所述元数据来识别所述选定的存储分区中的不可丢弃存储单元;并且 使所述不可丢弃存储单元的数据存储在所述固态存储介质的不同存储分区上。5.根据权利要求I所述的方法,其中所述元数据包括高速缓存元数据,所述方法还包括使用所述高速缓存元数据来选择用于恢复的存储分区。6.根据权利要求I所述的方法,其中所述元数据包括高速缓存元数据,所述方法还包括 识别所述高速缓存元数据指示应当保留在所述固态存储设备上的高速缓存条目的可丢弃存储单元; 使所述识别的可丢弃存储单元存储在所述固态存储介质的不同存储分区上。7.根据权利要求I所述的方法,所述方法还包括 在所述元数据中存取高速缓存;并且 使用所述高速缓存属性来选择用于恢复的存储分区。8.根据权利要求I所述的方法,还包括 接收包括与第一高速缓存条目关联的逻辑地址的存储请求,所述第一高速缓存条目弓I用所述固态存储设备的第一存储分区中的存储单元; 将所述存储请求的数据存储在所述固态存储设备的第二存储分区的存储单元中;并且更新所述元数据,以将所述高速缓存条目与所述第二存储分区中的所述存储单元关联,指示所述第一存储分区中的所述存储単元为无效,并且指示所述第二存储分区中的所述存储单元为不可丢弃。9.根据权利要求I所述的方法,还包括 将数据存储在所述固态存储设备的第一存储单元上,所述数据对应于与所述元数据中的第二高速缓存条目的逻辑地址接近的第一逻辑地址;并且 修改所述第二高速缓存条目,以包括所述第一逻辑地址并且引用所述第一存储单元。10.根据权利要求I所述的方法,其中所述固态存储设备可通信地耦合至后备存储器,所述方法还包括 提供包括所述后备存储器的容量的逻辑地址空间; 使用所述元数据来确定所述固态存储设备的当前占用率;并且 当所述当前占用率超出所述目标占用率阈值时,提高被配置为使不可丢弃存储单元存储在所述后备存储器上的备份引擎的优先级。11.根据权利要求I所述的方法,还包括 提供超出后备存储器的逻辑地址空间的逻辑地址空间; 识别与在所述后备存储器的所述逻辑地址空间的范围之外的逻辑地址关联的存储请求;并且 维护与所述逻辑地址关联的高速缓存条目的存储单元的不可丢弃指示符。12.根据权利要求I所述的方法,所述方法还包括 接收存储请求,所述存储请求引用与所述元数据中的第一高速缓存条目关联的第一逻辑地址和与所述元数据中的高速缓存条目不关联的第二逻辑地址;并且 通过将存储在所述固态存储设备上并对应于所述第一高速缓存条目的数据与从后备存储器中读取的数据结合来处理所述请求。13.根据权利要求12所述的方法,还包括将高速缓存条目添加至与所述固态存储设备的存储单元关联的所述元数据,所述存储単元包括从所述后备存储器中读取的所述数据。14.根据权利要求12所述的方法,还包括修改所述元数据,以包括包括所述第二逻辑地址的高速缓存条目并且引用包括从所述后备存储器中读取的所述数据的存储单元。15.根据权利要求12所述的方法,其中所述存储请求的数据是不连续的。16.一种用于将数据高速缓存在包括多个存储分区的固态存储设备上的方法,所述方法包括 将高速缓存数据按顺序存储在固态存储设备上; 维护与按顺序存储在所述固态存储设备上的所述高速缓存数据有关的高速缓存元数据;并且 存取所述高速缓存元数据以管理所述固态存储设备的顺序存储操作。17.根据权利要求16所述的方法,其中所述高速缓存元数据与逻辑地址关联并且被索弓丨,而与所述固态存储设备上包括逻辑地址的数据的存储单元的地址无关。18.根据权利要求16所述的方法,其中所述顺序存储操作包括根据所述存储分区是否包括已存储在后备存储器上的存储单元来选择用于恢复的存储分区,如所述高速缓存元数据所指示的。19.根据权利要求16所述的方法,其中所述高速缓存元数据包括识别待保留在所述固态存储设备上的高速缓存条目的高速缓存元数据,所述方法还包括 使用所述元数据以在经选择用于恢复的存储分区中识别与待保留在所述固态存储设备上的高速缓存条目关联的可丢弃存储单元;并且 使所述识别的可丢弃存储单元存储...

【专利技术属性】
技术研发人员:大卫·弗林约翰·斯特拉瑟乔纳森·希尔达大卫·阿特基森迈克尔·戴普乔舒亚·奥纳凯文·B·维戈尔
申请(专利权)人:弗森艾奥公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1