当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于高速缓存经压缩的数据背景的装置、系统和方法制造方法及图纸

技术编号:16112631 阅读:54 留言:0更新日期:2017-08-30 05:59
用于基于数据的压缩来有效地对这样的数据高速缓存的技术和机制。本公开的技术包括高速缓存系统、方法和计算机可读介质,其用于支持利用在被写入为高速缓存存储器中的高速缓存行之前被压缩的数据所执行的操作。在一些实施例中,高速缓存控制器确定要被存储为高速缓存行的经压缩的数据大小。高速缓存控制器标识用于对经压缩的数据进行高速缓存的逻辑块地址(LBA)范围,其中,这样的标识是基于经压缩的数据大小以及基于描述高速缓存存储器的多个LBA范围的参考信息的。一个或多个这样的LBA范围具有不同的相应大小。在其他实施例中,高速缓存存储器的LBA范围同时存储相应的经压缩的高速缓存行,其中,LBA范围并且具有不同的相应大小。

【技术实现步骤摘要】
【国外来华专利技术】用于高速缓存经压缩的数据背景的装置、系统和方法
本公开涉及高速缓存技术。具体地,本公开涉及采用数据压缩的驱动高速缓存技术。
技术介绍
诸如台式计算机、笔记本计算机、智能电话、平板电脑等的电子设备通常包括一个或多个外围存储设备。例如,台式计算机可以包括硬盘驱动器(HDD),该硬盘驱动器(HDD)包括配置为持久存储数据的磁性记录介质(磁盘)。虽然有用,但是与设备的其他部件相比,HDD的输入/输出(例如,写入/读取)性能可能相对慢。因此,HDD和其他相对慢的存储设备(例如,带存储器)可能会阻碍其中它/它们被安装的电子设备的性能。虽然已经进行了许多尝试来改善其性能,但是HDD的机电性质实际上可能限制其性能可能被改善到的程度。缓解由相对慢的外围存储设备呈现的瓶颈的一种方式是使用高速缓存设备(本文也称为“高速缓存”)。通常,高速缓存设备是逻辑上驻留在相对慢的存储设备和诸如处理器之类的电子设备的其他部件之间的存储器设备。通常,与高速缓存设备关联于的相对慢的存储设备相比,高速缓存包括相对快的存储器。高速缓存设备的存储器可以用作用于外围存储设备的临时存储区域。例如,经常访问的(“热”)数据可以在其被最初访问(例如从相对较慢的存储设备)之后置于在高速缓存中。此后,可以对高速缓存而不是相对慢的存储设备进行对热数据的后续访问。高速缓存控制器可以应用一个或多个算法和/或策略来确定哪些数据被存储在高速缓存设备的存储器中以及哪些被移除。由于高速缓存比相对慢的存储设备更快,因此可以改善系统的输入/输出性能。虽然高速缓存设备可以减轻由相对慢的外围存储设备引入的性能瓶颈,但是高速缓存存储器通常相当昂贵。因此,高速缓存的大小可能被成本和/或其他考虑所限制。因此,可以存储在高速缓存中的数据量实际上可能被其存储器的大小所限制。附图说明在附图的各图中通过示例的方式而非限制的方式示出了本专利技术的各种实施例,并且在附图中:图1是图示根据实施例的高速缓存系统的要素的高级框图。图2A图示了根据相应实施例的均在高速缓存系统中不同地交换的命令的要素。图2B图示了根据实施例的被访问以确定数据高速缓存操作的参考信息。图2C图示了根据实施例的用于提供对经压缩的数据的访问的数据高速缓存。图2D和2E图示了根据相应实施例的均被访问以确定数据高速缓存操作的各种参考信息。图3是图示根据实施例的用于控制高速缓存的方法的要素的流程图。图4是图示根据实施例的用于向高速缓存控制器提供数据压缩信息的方法的要素的流程图。图5A和5B是包括与本公开一致的高速缓存系统的示例性电子设备的框图。具体实施方式本文中讨论的实施例不同地提供了用于改善对存储在高速缓存存储器中的经压缩的数据的访问的技术和/或机制。一些高速缓存架构正在开始利用压缩/解压缩功能来增加有效的高速缓存容量,而同时提供对数据访问时间的至少一些相对改善。通常,在压缩要写入高速缓存的数据中(或在解压缩要从高速缓存读取的数据中)所需要的附加时间小于将这样的数据的未压缩版本写入(或从其读取这样的数据的未压缩版本)相对慢的外围存储设备的情况下,这样的功能是有用的。常规的盘高速缓存架构将高速缓存分成固定大小(例如,4千字节(KB)高速缓存行)的高速缓存行,其中这样的高速缓存行位于诸如固态驱动器(SSD)之类的高速缓存设备的逻辑块寻址(LBA)范围中。在这样的架构中,高速缓存资源在高速缓存行粒度级上被分配——例如,以单独的高速缓存行的预定和固定大小为单位。不幸的是,数据模式不同地压缩。高速缓存行中的一个4KB数据可以压缩八倍(8x),并且下一个4KB可能完全不压缩(即,1x)。例如,具有压缩的常规SSD高速缓存不同地包括将LBA范围划分成均具有等于未压缩高速缓存行的固定大小的槽(slot)。在操作期间,这样的槽可以根据需要在高速缓存插入、逐出和更新时被不同地填充、释放和盖写。因此,这些高速缓存解决方案不充分受益于逻辑上增加的高速缓存容量的至少部分。特定实施例是下述实现的结果,在固定大小的高速缓存行的情况下,高速缓存控制逻辑不能利用由于压缩而可用的至少一些高速缓存行中的空间。由这样的实施例提供的优点包括高速缓存容量中的有效增加和随时间的更高的高速缓存命中率。虽然本文中针对特定应用参考说明性实施例描述了本公开,但是应当理解,这样的实施例仅是示例性的,并且如由所附权利要求限定的本专利技术不限于此。实际上,为了说明的缘故,可以在其中使用固态驱动器作为针对存储设备(诸如硬盘驱动器或带存储器)的高速缓存设备的一个或多个使用模型的上下文中讨论本文描述的技术。这样的讨论仅是示例性的,并且应当理解,本文所描述的技术的全部或一部分可以在其他上下文中使用。实际上,本文描述的技术可以与任何适当的高速缓存设备和存储设备一起使用。具有对本文提供的教导的访问的相关
的技术人员将认识到本公开的范围内的附加修改、应用和实施例以及本公开的实施例将具有效用的附加领域。本文描述的技术可以在一个或多个电子设备中实现。可以利用本文描述的技术的电子设备的非限制性示例包括任何种类的移动设备和/或固定设备,诸如摄像机、蜂窝电话、计算机终端、台式计算机、电子阅读器、传真机、信息亭(kiosk)、上网本计算机、笔记本计算机、互联网设备、支付终端、个人数字助理、媒体播放器和/或记录器、服务器(例如,刀片服务器、机架安装服务器、其组合等)、机顶盒、智能电话、平板个人计算机、超移动个人计算机、有线电话、其组合等。这样的设备可以是便携式的或固定的。在一些实施例中,本文描述的技术可以在台式计算机、膝上型计算机、智能电话、平板计算机、上网本计算机、笔记本计算机、个人数字助理、服务器、其组合等中采用。更一般来说,本文描述的技术可以在任何电子设备中采用,高速缓存设备和存储设备中的一个或二者可以耦合和/或安装到所述电子设备。术语“高速缓存设备”在本文中用于指代用作针对另一存储器设备(后文称为“存储设备”)的高速缓存的存储设备。虽然本公开聚焦于其中使用固态驱动器作为高速缓存设备的实施例,但是应当理解,这样的描述仅是示例性的,并且术语“高速缓存设备”包含可以用作针对存储设备的高速缓存的任何类型的存储器设备。在没有限制的情况下,在一些实施例中,本文描述的高速缓存设备是以固态驱动器、动态随机存取存储器(DRAM)、硬驱动器、字节可寻址的非易失性非易失性存储器、其组合等的形式。在一些实施例中,本文描述的高速缓存设备表现出比相关联的存储设备的性能更大的输入/输出(“I/O”)性能。因此,在一些实施例中,本文描述的高速缓存设备可以包括比高速缓存设备关联于的存储设备的存储器更快的存储器(本文也称为“高速缓存存储器”)。术语“存储设备”在本文中用于指代可用于持久存储数据的存储器设备。高速缓存设备的非限制性示例包括硬驱动器(例如,采用磁性记录介质的驱动器)、固态驱动器、带存储器、其组合等。在一些实施例中,本文描述的存储设备是以表现出低于相关联的高速缓存设备的I/O性能的I/O性能的一个或多个存储器设备的形式。因此,在一些实施例中,本文描述的存储设备可以包括比存储设备与其相关联的高速缓存设备的存储器更慢的存储器(本文也称为“存储存储器”)。如本文中的任何实施例所使用的,术语“模块”可以指代配置为执行与本公开一致的本文档来自技高网
...
用于高速缓存经压缩的数据背景的装置、系统和方法

【技术保护点】
一种设备,包括:高速缓存控制器模块,其包括电路,所述电路被配置为:向压缩引擎传输包括第一数据的第一压缩命令,其中,响应于第一压缩命令,所述压缩引擎压缩第一数据以产生第一经压缩的数据;确定第一经压缩的数据的大小;标识高速缓存设备的存储器的第一逻辑块地址(LBA)范围,其中,基于第一经压缩的数据的大小和指定所述存储器的多个LBA范围的参考信息来标识第一LBA范围,所述多个LBA范围包括不同相应大小的LBA范围;以及基于第一LBA范围的标识,以:更新所述参考信息以指示第一LBA范围被分配给第一经压缩的数据;以及用信号通知第一经压缩的数据要被写入第一LBA范围。

【技术特征摘要】
【国外来华专利技术】2014.12.16 US 14/5726891.一种设备,包括:高速缓存控制器模块,其包括电路,所述电路被配置为:向压缩引擎传输包括第一数据的第一压缩命令,其中,响应于第一压缩命令,所述压缩引擎压缩第一数据以产生第一经压缩的数据;确定第一经压缩的数据的大小;标识高速缓存设备的存储器的第一逻辑块地址(LBA)范围,其中,基于第一经压缩的数据的大小和指定所述存储器的多个LBA范围的参考信息来标识第一LBA范围,所述多个LBA范围包括不同相应大小的LBA范围;以及基于第一LBA范围的标识,以:更新所述参考信息以指示第一LBA范围被分配给第一经压缩的数据;以及用信号通知第一经压缩的数据要被写入第一LBA范围。2.根据权利要求1所述的设备,所述高速缓存控制器还要:确定除了基于第一压缩命令而生成的任何经压缩的数据之外的第二经压缩的数据的大小,其中,第二经压缩的数据的大小不同于第一经压缩的数据的大小;标识高速缓存设备的存储器的第二LBA范围,其中,基于第二经压缩的数据的大小和所述参考信息来标识第二LBA范围;以及基于第二LBA范围的标识,以:更新所述参考信息以指示第二LBA范围被分配给第二经压缩的数据;以及用信号通知第二经压缩的数据要被写入第二LBA范围;其中,第一LBA范围存储第一经压缩的数据,而第二LBA范围存储第二经压缩的数据。3.根据权利要求1所述的设备,所述高速缓存控制器模块还被配置为将第一数据与第一标签相关联并且在第一压缩命令中传输第一标签。4.根据权利要求3所述的设备,其中,所述高速缓存控制器模块要用信号通知第一经压缩的数据要被写入第一LBA范围包括所述高速缓存控制器模块要向所述高速缓存设备发出包含所述标签和第一LBA范围的写入命令。5.根据权利要求1所述的设备,其中,所述高速缓存控制器模块要标识第一LBA范围包括所述高速缓存控制器模块要标识要从所述存储器逐出的第二经压缩的数据。6.根据权利要求1所述的设备,其中,除了所述高速缓存设备之外的存储设备存储第一数据的版本,而第一LBA范围存储第一经压缩的数据,并且其中,针对所述多个LBA范围中的每一个,所述参考信息指定:所述LBA范围的大小;以及如对应于所述LBA范围的所述存储设备的不同的相应逻辑基址。7.根据权利要求1所述的设备,其中,所述参考信息标识除了当前存储有效数据的所述存储器的任何LBA范围之外的一个或多个LBA范围,并且其中,所述参考信息还针对所述一个或多个LBA范围中的每一个标识所述LBA范围的相应大小。8.根据权利要求1所述的设备,其中,针对所述多个LBA范围中的每一个,所述参考信息指定所述LBA范围的使用的新近性,其中,所述高速缓存控制器模块要基于第一LBA范围的使用的新近性来标识第一LBA范围。9.根据权利要求1所述的设备,其中,所述高速缓存控制器模块要标识第一LBA范围包括:所述高速缓存控制器模块要基于所述多​​个LBA范围的子集的LBA范围每一个具有等于足以存储第一经压缩的数据的区段的最小数目的所述LBA范围的区段的总数目而标识所述子集;以及所述高速缓存控制器模块要仅从所述子集之中选择第一LBA范围。10.根据权利要求9所述的设备,其中,所述高速缓存控制器模块要基于第一LBA范围是所述子集的最近最少使用的LBA范围而仅从所述子集之中选择第一LBA范围。11.根据权利要求1所述的设备,其中,所述高速缓存控制器模块要标识第一LBA范围包括:所述高速缓存控制器模块要基于所述多​​个LBA范围的子集的LBA范围每一个具有最接近足以存储第一经压缩的数据的区段的最小数目的所述LBA范围的区段的总数目而标识所述子集;以及所述高速缓存控制器模块要仅从所述子集之中选择第一LBA范围。12.一种在高速缓存控制器处的方法,所述方法包括:向压缩引擎传输包括第一数据的第一压缩命令,其中,响应于第一压缩命令,所述压缩引擎压缩第一数据以产生第一经压缩的数据;确定第一经压缩的数据的大小;标识高速缓存设备的存储器的第一逻辑块地址(LBA)范围,其中,基于第一经压缩的数据的大小和指定所述存储器的多个LBA范围的参考信息来标识第一LBA范围,所述多个LBA范围包括不同相应大小的LBA范围;以及基于第一LBA范围的标识:更新所述参考信息以指示第一LBA范围被分配给第一经压缩的数据;以及用信号通知第一经压缩的数据要被写入第一LBA范围。13.根据权利要求12所述的方法,还包括:确定除了基于第一压缩命令而生成的任何经压缩的数据之外的第二经压缩的数据的大小,其中,第二经压缩的数据的大小不同于第一经压缩的数据的大小;标识高速缓存设备的存储器的第二LBA范围,其中,基于第二经压缩的数据的大小和所述参考信息来标识第二LBA范围;以及基于第二LBA范围的标识:更新所述参考信息以指示第二LBA范围被分配给第二经压缩的数据;以及用信号通知第二经压缩的数据要被写入第二LBA范围;其中,第一LBA范围存储第一经压缩的数...

【专利技术属性】
技术研发人员:SN特里卡RS加西亚
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1