使用存储使用率环的选择性闪存压缩/解压缩制造技术

技术编号:20499701 阅读:38 留言:0更新日期:2019-03-03 03:20
公开了用于选择性地对闪速存储数据进行压缩/解压缩的系统、方法和计算机程序。系统的实施例包括压缩/解压缩组件、闪存设备、与闪存设备通信的闪存控制器、以及与压缩/解压缩组件和闪存控制器通信的存储驱动器。存储驱动器被配置为根据包括较高使用率阈值和较低使用率阈值的存储使用率环,经由压缩/解压缩组件,来选择性地控制对存储在闪存设备中的数据的压缩和解压缩。

Selective Flash Compression/Decompression Using Storage Usage Ring

Systems, methods and computer programs for selectively compressing/decompressing flash storage data are disclosed. The implementation examples of the system include compression/decompression components, flash devices, flash controllers communicating with flash devices, and storage drivers communicating with compression/decompression components and flash controllers. The storage driver is configured to selectively control the compression and decompression of data stored in a flash memory device via a compression/decompression component based on a storage utilization ring comprising a higher utilization threshold and a lower utilization threshold.

【技术实现步骤摘要】
【国外来华专利技术】使用存储使用率环的选择性闪存压缩/解压缩
技术介绍
非易失性存储器(诸如闪速存储)被并入各种类型的计算设备中,包括便携式计算设备(例如,蜂窝电话、智能电话、平板计算机、便携式数字助理(PDA)、便携式游戏控制台、可穿戴设备以及其它电池供电的设备)。为了满足用户需求,在便携式计算设备中的NAND闪速存储的容量不断增加。然而,较大的NAND闪速存储显著增加了便携式计算设备的成本。对成本压力的常见解决方案是实现文件系统压缩,其使用户数据尽可能的紧凑。虽然压缩解决方案可以临时扩展NAND闪速存储的有限容量,但对数据进行压缩/解压缩的过程会对便携式计算设备的性能产生负面影响并增加功耗,这会不期望地降低电池寿命。因此,需要用于在不会不利地影响设备性能和用户体验的情况下选择性地启用对闪速存储数据的压缩/解压缩以增加存储容量的改进的系统和方法。
技术实现思路
公开了用于选择性地对闪速存储数据进行压缩/解压缩的系统、方法和计算机程序。系统的实施例包括:压缩/解压缩组件、闪存设备、与所述闪存设备通信的闪存控制器,以及与所述压缩/解压缩组件和所述闪存控制器相通信的存储驱动器。所述存储驱动器被配置为根据包括较高使用率阈值(usagethreshold)和较低使用率阈值的存储使用率环(collar),经由所述压缩/解压缩组件来选择性地控制对存储在所述闪存设备中的数据的压缩和解压缩。另一实施例是一种用于选择性地对闪速存储数据进行压缩/解压缩的方法。所述方法包括定义与闪存设备相关联的存储使用率环。所述存储使用率环包括较高使用率阈值和较低使用率阈值。如果存储使用率超过存储使用率环的较高使用率阈值,则通过以下方式来增加所述闪存设备上的空闲空间的量:从所述闪存设备读取未经压缩的数据的第一部分,对所述未经压缩的数据的第一部分进行压缩以生成经压缩的数据的第一部分,以及将所述经压缩的数据的第一部分重写到所述闪存设备。如果存储使用率降低到所述存储使用率环的所述较低使用率阈值以下,则通过以下方式来减少所述闪存设备上的所述空闲空间的量:从所述闪存设备读取经压缩的数据的第二部分,对所述经压缩的数据的第二部分进行解压缩以生成未经压缩的数据的第二部分,以及将所述未经压缩的数据的第二部分重写到所述闪存设备。附图说明在附图中,除非另外指出,否则类似的附图标记在各个视图中指代类似的部分。对于具有诸如“102A”或“102B”的字母字符标记的附图标记,字母字符标记可以区分存在于同一附图中的两个类似部分或元素。当希望附图标记涵盖在所有附图中具有相同附图标记的所有部分时,可以省略针对附图标记的字母符号标记。图1是用于使用存储使用率环来提供选择性闪存压缩/解压缩的系统的实施例的方块图。图2是示出用于控制对闪存设备中的数据的压缩/解压缩的存储使用率环的示例性实施例的方块图。图3a示出了图1中的系统的初始控制模式,在初始控制模式中,在当前存储使用率低于存储使用率环时,在不进行压缩的情况下将数据写到闪存设备。图3b示出了图1中的系统的第二控制模式,在第二控制模式中,在当前存储使用率超过存储使用率环的较低阈值时发起后台清理过程。图3c示出了图1中的系统的第三控制模式,在第三控制模式中,在当前存储使用率超过存储使用率环的较高阈值时,在进行压缩的情况下将数据写到闪存设备。图3d示出了图1中的系统的第四控制模式,在第四控制模式中,在当前存储使用率降低到存储使用率环的较低阈值以下时,将先前经压缩的数据作为未经压缩的数据重写到闪存设备。图4是示出用于使用存储使用率环来提供选择性闪存压缩/解压缩的方法的实施例的流程图。图5是示出闪存设备中的经压缩和未经压缩的数据的示例性方块的数据图。图6是用于并入图1的系统的便携式计算设备的实施例的方块图。具体实施方式本文中所使用的“示例性的”一词意指“用作示例、实例或说明”。在本文中被描述为“示例性的”的任何方面不一定被解释为比其它方面优选的或者有优势。在本说明书中,术语“应用”还可以包括具有可执行内容的文件,诸如:对象代码、脚本、字节代码、标记语言文件和补丁。此外,本文涉及的“应用”还可以包括本质上不可执行的文件,诸如可能需要打开的文档或需要访问的其它数据文件。术语“内容”还可以包括具有可执行内容的文件,诸如:对象代码、脚本、字节代码、标记语言文件和补丁。此外,涉及本文的“内容”还可以包括本质上不可执行的文件,诸如可能需要打开的文档或需要访问的其它数据文件。如在本说明书中所使用的,术语“组件”、“数据库”、“模块”、“系统”等意指涉及计算机相关的实体,或者是硬件、固件、硬件和软件的组合、软件、或者是在执行中的软件。例如,组件可以是但不限于是运行在处理器上的过程、处理器、对象、可执行程序、执行中的线程、程序、和/或计算机。举例说明,在计算设备上运行的应用和计算设备两者都可以是组件。一个或多个组件可以存在于过程和/或执行中的线程之内,以及组件可以位于一台计算机上和/或分布在两台或更多台计算机之间。此外,这些组件可以从其上存储有各种数据结构的各种计算机可读介质执行。组件可以通过本地和/或远程过程,诸如根据具有一个或多个数据分组的信号(例如,来自一个组件的数据,该组件与在本地系统、分布式系统中的另一组件、和/或跨诸如互联网的网络通过信号与另一系统交互)来进行通信。在本说明书中,术语“通信设备”、“无线设备”、“无线电话”、“无线通信设备”和“无线手持设备”可互换使用。随着第三代(“3G”)无线技术和第四代(“4G”)的出现,更大的带宽可用性已使更多的便携式计算设备具有更加多种多样的无线能力。因此,便携式计算设备可以包括蜂窝电话、寻呼机、PDA、智能电话、导航设备,或具有无线连接或链路的手持计算机。图1示出了用于使用存储使用率环来选择性地压缩/解压缩闪速存储数据的系统100。系统100包括电耦合到闪存设备(例如,NAND闪存104)和易失性随机存取存储器(VRAM)(诸如动态随机存取存储器(DRAM)106)的片上系统(SoC)102。SoC102可以经由控制总线126和数据总线128来电耦合到NAND闪存104。SoC102可以经由总线130来电耦合到DRAM106。系统100可以在任何计算设备中来实现,任何计算设备包括个人计算机、工作站、服务器、便携式计算设备(PCD)(诸如蜂窝电话、智能电话、便携式数字助理(PDA)、便携式游戏控制台、导航设备、平板电脑、可穿戴设备(诸如运动手表、健身追踪设备等)、或者其它电池供电的支持网络的设备)。SoC102包括各种片上组件,其包括经由SoC总线120来互连的用于执行操作系统(O/S)122的中央处理单元(CPU)110、DRAM控制器112、静态随机存取存储器(SRAM)116、只读存储器(ROM)114、数据压缩组件118以及闪存控制器108。SoC102可以包括从DRAM106和NAND闪存104请求存储器资源的一个或多个存储器客户端。存储器客户端可以包括一个或多个处理单元(例如,中央处理单元(CPU)110、图形处理单元(GPU)、数字信号处理器(DSP)等)、视频编码器或请求向NAND闪存104和DRAM106的读/写访问的其它客户端。在图1中所示出的实施例中,虽然NAND闪存104是与SoC102分开本文档来自技高网...

【技术保护点】
1.一种用于选择性地对闪速存储数据进行压缩/解压缩的方法,所述方法包括:定义与闪存设备相关联的存储使用率环,所述存储使用率环包括较高使用率阈值和较低使用率阈值;如果所述存储使用率超过所述存储使用率环的所述较高使用率阈值,则通过以下方式来增加所述闪存设备上的空闲空间的量:从所述闪存设备读取未经压缩的数据的第一部分,对所述未经压缩的数据的第一部分进行压缩以生成经压缩的数据的第一部分,以及将所述经压缩的数据的第一部分重写到所述闪存设备;以及如果所述存储使用率降低到所述存储使用率环的所述较低使用率阈值以下,则通过以下方式来减少所述闪存设备上的所述空闲空间的量:从所述闪存设备读取经压缩的数据的第二部分,对所述经压缩的数据的第二部分进行解压缩以生成未经压缩的数据的第二部分,以及将所述未经压缩的数据的第二部分重写到所述闪存设备。

【技术特征摘要】
【国外来华专利技术】2016.06.23 US 15/191,3991.一种用于选择性地对闪速存储数据进行压缩/解压缩的方法,所述方法包括:定义与闪存设备相关联的存储使用率环,所述存储使用率环包括较高使用率阈值和较低使用率阈值;如果所述存储使用率超过所述存储使用率环的所述较高使用率阈值,则通过以下方式来增加所述闪存设备上的空闲空间的量:从所述闪存设备读取未经压缩的数据的第一部分,对所述未经压缩的数据的第一部分进行压缩以生成经压缩的数据的第一部分,以及将所述经压缩的数据的第一部分重写到所述闪存设备;以及如果所述存储使用率降低到所述存储使用率环的所述较低使用率阈值以下,则通过以下方式来减少所述闪存设备上的所述空闲空间的量:从所述闪存设备读取经压缩的数据的第二部分,对所述经压缩的数据的第二部分进行解压缩以生成未经压缩的数据的第二部分,以及将所述未经压缩的数据的第二部分重写到所述闪存设备。2.根据权利要求1所述的方法,其中,所述闪存设备包括NAND闪存。3.根据权利要求1所述的方法,其中,所述压缩和所述解压缩是由与闪存控制器相通信的处理器设备来实现的。4.根据权利要求1所述的方法,其中,所述较高使用率阈值和所述较低使用率阈值是经调整的。5.根据权利要求1所述的方法,其中,所述存储使用率是被与所述存储使用率环周期性地进行比较的。6.根据权利要求1所述的方法,其中,从所述闪存设备读取的所述未经压缩的数据的第一部分和所述经压缩的数据的第二部分是通过对与所述闪存设备相关联的文件系统目录进行检查来选择的。7.根据权利要求6所述的方法,其中,对所述文件系统目录进行检查涉及后台清理过程。8.一种用于选择性地对闪速存储数据进行压缩/解压缩的系统,所述系统包括:用于定义与闪存设备相关联的存储使用率环的单元,所述存储使用率环包括较高使用率阈值和较低使用率阈值;用于如果所述存储使用率超过所述存储使用率环的所述较高使用率阈值,则通过以下方式来增加所述闪存设备上的空闲空间的量的单元:从所述闪存设备读取未经压缩的数据的第一部分,对所述未经压缩的数据的第一部分进行压缩以生成经压缩的数据的第一部分,以及将所述经压缩的数据的第一部分重写到所述闪存设备;以及用于如果所述存储使用率降低到所述存储使用率环的所述较低使用率阈值以下,则通过以下方式来减少所述闪存设备上的所述空闲空间的量的单元:从所述闪存设备读取经压缩的数据的第二部分,对所述经压缩的数据的第二部分进行解压缩以生成未经压缩的数据的第二部分,以及将所述未经压缩的数据的第二部分重写到所述闪存设备。9.根据权利要求8所述的系统,其中,所述闪存设备包括NAND闪存。10.根据权利要求8所述的系统,其中,所述压缩和所述解压缩是由与闪存控制器相通信的处理器设备来实现的。11.根据权利要求8所述的系统,其中,所述较高使用率阈值和所述较低使用率阈值是经调整的。12.根据权利要求8所述的系统,还包括:用于周期性地将所述存储使用率与所述存储使用率环进行比较的单元。13.根据权利要求8所述的系统,还包括:用于对与所述闪存设备相关联的文件系统目录进行检查以选择要从所述闪存设备读取的所述未经压缩的数据的第一部分和所述经压缩的数据的第二部分的单元。14.根据权利要求13所述的系统,其中,所述用于对所述文件系统目录进行检查的单元包括后台清理过程。15.一种实施在存储器中并由处理器可执行用于选择性地对闪速存储数据进行压缩/解压缩的计算机程序,所述计算机程序包括被配置为进行以下操作的逻辑单元:定义与闪存设备相关联的存储使用率环,所述存储使用率环包括较高使用率阈值和较低使用率阈值;如果所述存...

【专利技术属性】
技术研发人员:Y·李D·全
申请(专利权)人:高通股份有限公司
类型:发明
国别省市:美国,US

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

1