CN102694554B - 数据压缩设备、其操作方法以及包括该设备的数据处理装置 - Google Patents

数据压缩设备、其操作方法以及包括该设备的数据处理装置 Download PDF

Info

Publication number
CN102694554B
CN102694554B CN201110453646.1A CN201110453646A CN102694554B CN 102694554 B CN102694554 B CN 102694554B CN 201110453646 A CN201110453646 A CN 201110453646A CN 102694554 B CN102694554 B CN 102694554B
Authority
CN
China
Prior art keywords
data
analysis
compression
compressed
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201110453646.1A
Other languages
English (en)
Other versions
CN102694554A (zh
Inventor
赵庆来
尹燦湖
孔骏镇
尹弼相
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to KR20110005575A priority Critical patent/KR20120084180A/ko
Priority to KR10-2011-0005575 priority
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN102694554A publication Critical patent/CN102694554A/zh
Application granted granted Critical
Publication of CN102694554B publication Critical patent/CN102694554B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • HELECTRICITY
    • H03BASIC ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • H03M7/6082Selection strategies
    • H03M7/6088Selection strategies according to the data type

Abstract

一种操作数据压缩设备的方法包括:在数据由输入缓冲器缓冲时使用分析器分析数据并产生分析的结果,并且根据分析的结果选择性地压缩被缓冲的数据。一种数据压缩设备包括:数据模式分析器,被配置成分析传送到输入缓冲器的数据,并基于数据的分析产生分析码;和,数据压缩管理器,被配置成基于分析码选择性地压缩输入缓冲器中的数据。

Description

数据压缩设备、其操作方法以及包括该设备的数据处理装置
[0001] 相关申请的交叉引用
[0002] 本申请要求2011年1月19日递交的No. 10-2011-0005575号韩国专利申请的优先 权,其公开通过引用被全部包含于此。
技术领域
[0003] 本发明总体构思的示例实施例涉及数据压缩技术,例如,能够分析数据并基于分 析结果确定是否压缩数据的数据压缩设备、操作数据压缩设备的方法、用于压缩数据的方 法,和/或包括数据压缩设备的数据处理装置。
背景技术
[0004] 数据压缩指把数据更有效地存储在更小的存储空间中的技术以及这种技术的实 际应用。常规的数据压缩包括编码和解码过程。在编码过程期间减小数据的大小。在解码过 程期间,把编码数据恢复到原始数据。
发明内容
[0005] 至少一个示例实施例提供了一种操作数据压缩设备的方法。根据至少此示例实施 例,所述方法包括:在数据在输入缓冲器中被缓冲时,使用数据模式分析器分析数据的模 式;输出分析的结果;并根据分析的结果分流(bypass)或者压缩被缓冲的数据。
[0006] 在一个例子中,分析数据的模式可以包括:分析数据的头中所包括的指示位,并基 于被分析的指示位指示是否压缩数据。
[0007] 在另一个例子中,分析数据的模式可以包括对数据中所包括的多个符号中的每一 个的频率进行计数。在这个例子中,分析的结果可以是参考值与被计数频率的最大者和最 小者其中之一之间比较的结果。
[0008] 在又一个例子中,分析数据的模式可以包括:对数据中所包括的多个符号中的每 一个的频率进行计数;给多个符号中的每一个分配码字;并使用多个符号中的每一个的频 率以及分配给多个符号中的每一个的码字的位数来计算估计的数据大小。分析的结果可 以是估计的数据大小和参考数据大小之间比较的结果。
[0009] 在再一个例子中,分析数据的模式可以包括:分析数据的头中所包括的指示位以 确定是否压缩数据;和,基于对指示位的分析的结果,对数据中所包括的多个符号中的每一 个的频率进行计数。在这个例子中,分析的结果可以是参考值与被计数频率的最大者和最 小者其中任何一个之间比较的结果。
[0010] 分流或者压缩被缓冲的数据可以包括把分析的结果存储在存储器中,并根据存储 在存储器中的分析的结果,使用处理器分流或者压缩被缓冲的数据。数据模式的分析可以 在被缓冲的数据被输出之前完成。
[0011] 至少一个其他的示例实施例提供了一种数据压缩设备。根据至少这个示例实施 例,数据压缩设备包括:输入缓冲器;数据模式分析器,被配置成分析传送到输入缓冲器的 数据的模式并输出分析码;和,数据压缩管理器,被配置成根据分析码把输入缓冲器中的被 缓冲数据分流到非易失性存储器设备或者压缩被缓冲的数据以产生被压缩的数据并把被 压缩的数据传送到非易失性存储器设备。
[0012] 在一个例子中,数据模式分析器可以分析数据的头中所包括的指示位以确定是否 压缩数据,并基于指示位输出分析码。数据模式分析器可以对数据中所包括的多个符号中 的每一个的频率进行计数,并输出参考值与被计数频率的最大者和最小者其中之一之间比 较的结果作为分析码。
[0013] 在另一个例子中,数据模式分析器可以对数据中所包括的多个符号中的每一个的 频率进行计数;给多个符号中的每一个分配码字,并输出参考数据大小和估计数据大小之 间比较的结果作为分析码。可以使用多个符号中的每一个的频率以及分配给多个符号中的 每一个的码字的位数来获取估计数据。
[0014] 根据至少某些示例实施例,数据模式分析器可以包括:头分析器,被配置成根据包 括在数据的头中的指示是否压缩数据的指示位输出控制信号;和,根据被激活的控制信号 被使能的估计器。所述估计器被配置成对数据中所包括的多个符号中的每一个的频率进行 计数,给多个符号中的每一个分配码字,并输出参考数据的大小与估计数据大小之间比较 的结果作为分析码。
[0015] 根据至少某些示例实施例,数据模式分析器可以包括模式分析器,模式分析器被 配置成对数据中所包括的多个符号中的每一个的频率进行计数,并给多个符号中的每一个 分配码字。数据模式分析器还可以包括估计器,估计器被配置成接收从所述模式分析器输 出的符号中的每一个的频率,并输出参考数据的大小与估计数据大小之间比较的结果作为 分析码。基于多个符号中的每一个的频率以及分配给多个符号中的每一个的码字的位数可 以获取估计的数据。
[0016] 数据压缩管理器可以包括:存储器,被配置成存储分析码;处理器,被配置成压缩 被缓冲的数据并输出被压缩的数据;和,选择器,被配置成根据存储在存储器中的分析码, 把被缓冲的数据分流到非易失性存储器设备或者把被缓冲的数据传送到处理器。
[0017] 处理器可以顺次地压缩被缓冲的数据的各符号,并输出指示符号之间的关系的信 息而不压缩被缓冲数据内的重复符号。
[0018] 至少一个其他示例实施例提供了一种数据处理装置。根据至少这个示例实施例, 数据处理装置包括:非易失性存储器设备;和,数据压缩设备,被配置成把被分流或者压缩 的数据传送到非易失性存储器设备。数据压缩设备包括:输入缓冲器;和,数据模式分析器, 被配置成在数据被传送到输入缓冲器时分析数据的模式,并输出分析码。数据处理装置还 包括数据压缩管理器,数据压缩管理器被配置成根据分析码输出被缓冲的数据作为被分流 的数据,或者压缩被缓冲的数据并输出被压缩的数据。
[0019] 数据处理装置可以是固态驱动器(SSD)、智能卡、存储器卡、智能电话、平板个人电 能(PC)、个人数字助理(PDA)、MP3或者其他音乐播放器设备,等等。数据压缩设备可以集成 在被配置成控制非易失性存储器的存储器控制器中。
[0020] 至少一个其他的示例实施例提供了一种压缩数据的方法,包含:由数据模式分析 器分析数据以确定是否压缩数据;产生分析的结果,分析和产生中的至少一个在数据在输 入缓冲器中被缓冲时被执行;和,基于分析的结果选择性地压缩输入缓冲器中的数据。
[0021] 至少一个其他的示例实施例提供一种操作数据压缩设备的方法,包含:拦截传送 到输入缓冲器的数据;分析被拦截的数据的模式并输出分析的结果;和,根据分析的结果输 出输入缓冲器中的被缓冲数据和被压缩的数据其中之一,通过压缩被缓冲的数据产生被压 缩的数据。
[0022] 在被缓冲的数据被从输入缓冲器输出之前完成数据的模式的分析。当数据是n位 数据,其中n是自然数时,被缓冲的数据是该数据的整数倍。
[0023] 根据至少某些示例实施例,分析数据可以包含:分析数据的头中所包括的指示位, 所述指示位指示是否压缩数据。基于对指示位的分析而产生分析的结果。
[0024] 根据至少某些示例实施例,分析数据可以包含:对数据中所包括的多个符号中的 每一个的频率进行计数;把参考值与被计数频率中的最大者和最小者其中之一进行比较; 其中,基于比较产生分析的结果。
[0025] 根据至少某些示例实施例,分析数据可以包含:对数据中所包括的多个符号中的 每一个的频率进行计数;给多个符号中的每一个分配码字;基于多个符号中的每一个的频 率以及分配给多个符号中的每一个的码字的位数来计算被压缩数据的大小的估计;和,把 估计的被压缩数据的大小与参考值进行比较,其中,基于所述比较产生分析的结果。
[0026] 根据至少某些示例实施例,分析数据可以包含:分析数据的头中所包括的指示位, 所述指示位指示是否压缩数据;基于指示位的分析对数据中所包括的多个符号中的每一个 的频率进行计数;和,把参考值与被计数频率中的最大者和最小者其中之一进行比较;其 中,基于比较产生分析的结果。
[0027] 选择性地压缩被缓冲的数据可以包含:把分析的结果存储在存储器中;和,基于存 储在存储器中的分析的结果,使用处理器选择性地压缩被缓冲的数据。可以在被缓冲数据 出之前完成分析数据。
[0028] 至少一个其他的示例实施例提供了一种数据压缩设备,包含:数据模式分析器,被 配置成分析传送到输入缓冲器的数据,数据模式分析器还被配置成基于分析产生分析码; 和,数据压缩管理器,被配置成基于分析码压缩输入缓冲器中的被缓冲数据。
[0029] 至少一个其他的示例实施例提供了一种数据处理装置,包含:非易失性存储器设 备;和,数据压缩设备,被配置成选择性地压缩被缓冲的数据。数据压缩设备包括:输入缓冲 器;数据模式分析器,被配置成分析数据的模式并输出分析码,分析模式和输出分析码其中 至少一个在数据被传送到输入缓冲器时被执行;和,数据压缩管理器,被配置成根据分析码 选择性地压缩在输入缓冲中被缓冲的数据。
[0030] 根据至少某些示例实施例,数据模式分析器可以被配置成分析数据的头中所包括 的指示位,并基于指示位的分析产生分析码。所述指示位可以指示是否压缩数据。
[0031] 根据至少某些示例实施例,数据分析器可以被配置成对数据中所包括的多个符号 中的每一个的频率进行计数,并基于参考值与被计数频率的最大者和最小者其中之一之间 的比较产生分析码。
[0032] 根据至少某些示例实施例,数据模式分析器可用被配置成对数据中所包括的多个 符号中的每一个的频率进行计数;给多个符号中的每一个分配码字,和,基于参考数据的大 小与估计的压缩数据的大小之间的比较产生分析码,基于多个符号中的每一个的频率以及 分配给多个符号中的每一个的码字的位数来计算估计压缩数据的大小。
[0033] 根据至少某些示例实施例,数据模式分析器可以包含:头分析器,被配置成基于包 括在数据的头中的指示位输出控制信号,所述指示位指示是否压缩数据;和,估计器,被配 置成响应于激活控制信号被选择性地使能,所述估计器还被配置成对数据中所包括的多个 符号中的每一个的频率进行计数,给多个符号中的每一个分配码字,并基于参考数据的大 小与估计的压缩数据的大小之间比较的结果产生分析码;所述估计的压缩数据的大小被基 于多个符号中的每一个的频率以及分配给多个符号中的每一个的码字的位数来计算。
[0034] 根据至少某些示例实施例,数据模式分析器可以包含:模式分析器,被配置成对数 据中所包括的多个符号中的每一个的频率进行计数,并给多个符号中的每一个分配码字; 和,估计器,被配置成从所述模式分析器接收符号中的每一个的频率和分配给多个符号中 的每一个的码字,并被配置成基于参考数据的大小与估计的压缩数据的大小之间比较的结 果产生分析码;所述估计的压缩数据的大小被基于多个符号中的每一个的频率以及分配给 多个符号中的每一个的码字的位数来计算。
[0035] 根据至少某些示例实施例,数据压缩管理器可以包含:存储器,被配置成存储分析 码;处理器,被配置成压缩被缓冲的数据并输出被压缩的数据;和,选择器,被配置成基于存 储在存储器中的分析码把被缓冲的数据输出到非易失性存储器设备和处理器其中之一。
[0036] 至少一个其他的示例实施例提供了一种用于压缩输入数据的方法,包含:在数据 压缩设备,基于数据的模式和数据的头中所包括的指示位的值其中之一选择性地压缩数 据,指示位和模式中的每一个均指示数据是否是被压缩的数据。
[0037] 根据至少某些示例实施例,所述方法还可以包含:确定数据是否包括头信息,其 中,如果数据包括头信息,则基于指示位选择性地压缩数据。如果数据不包括头信息,则基 于数据的模式选择性地压缩数据。
[0038] 根据至少某些示例实施例,所述方法还可以包含:对数据中所包括的每一个符号 的频率进行计数;把被计数频率中的最大和最小频率其中之一与参考值进行比较,并且其 中,选择性压缩步骤基于参考值与最大或者最小频率之间的比较选择性地压缩数据。
[0039] 根据至少某些示例实施例,所述方法还可以包含:对数据中所包括的每一个符号 的频率进行计数;给数据中所包括的符号中的每一个分配码字;基于被计数的频率以及每 一个被分配的码字的位数来估计压缩数据的大小;把估计的压缩数据的大小与参考值进行 比较;并且其中,选择性压缩步骤基于估计的压缩数据大小和参考值之间的比较选择性地 压缩数据。
[0040] 至少一个其他示例实施例提供了一种数据压缩设备,包含:数据压缩管理器,被配 置成基于数据的模式和数据的头中所包括的指示位的值其中之一选择性地压缩数据,指示 位和模式中的每一个均指示数据是否是被压缩的数据。
[0041] 根据至少某些示例实施例,数据压缩设备可以包含:数据模式分析器,被配置成确 定数据是否包括头信息,并且其中,如果数据包括头信息,则数据压缩管理器基于指示位选 择性地压缩数据。
[0042] 根据至少某些示例实施例,如果数据不包括头信息,则数据压缩管理器可以基于 数据的模式选择性地压缩数据。
[0043] 数据模式分析器还可以被配置成对数据中所包括的每一个符号的频率进行计数, 并把被计数频率中的最大和最小频率其中之一与参考值进行比较。数据压缩管理器可以基 于参考值与最大或最小频率之间的比较选择性地压缩数据。
[0044] 数据模式分析器还可以被配置成对数据中所包括的每一个符号的频率进行计数, 给数据中所包括的符号中的每一个分配码字,基于频率以及每一个被分配的码字的位数来 估计压缩数据的大小,并把估计的压缩数据的大小与参考值进行比较。数据压缩管理器可 以基于估计的压缩数据的大小和参考值之间的比较选择性地压缩数据。
附图说明
[0045] 从下面结合附图的详细描述中,本发明总体构思的示例实施例将变得更清晰地被 理解,在附图中:
[0046] 图1A是根据本发明总体构思的示例实施例的数据压缩设备的框图。
[0047]图1B是从图1A的输入缓冲器30输出的被缓冲数据的示例输出时序图;
[0048] 图1C示出了图1B中所示的被缓冲数据的示例结构;
[0049] 图2是根据本发明总体构思的另一示例实施例的数据压缩设备的框图;
[0050] 图3是用于说明图2的数据模式分析器20B的示例操作的表格;
[0051] 图4是根据本发明总体构思的另一示例实施例的数据压缩设备的框图;
[0052] 图5是根据本发明总体构思的又一示例实施例的数据压缩设备的框图;
[0053] 图6是用于说明操作数据压缩设备的方法的示例实施例的流程图;
[0054] 图7是用于说明操作数据压缩设备的方法的另一示例实施例的流程图;
[0055] 图8是用于说明操作数据压缩设备的方法的又一示例实施例的流程图;
[0056] 图9是用于说明操作使用静态霍夫曼编码规则的模式分析器的方法的示例实施例 的流程图;
[0057] 图10是用于说明操作使用动态霍夫曼编码规则的模式分析器的方法的示例实施 例的流程图;
[0058]图11示出了包括根据本发明总体构思的示例实施例的数据压缩设备的数据处理 系统;
[0059] 图12示出了包括根据本发明总体构思的另一示例实施例的数据压缩设备的数据 处理系统;
[0060] 图13是根据本发明总体构思的又一示例实施例的数据压缩设备的框图;
[0061] 图14是用于说明操作数据压缩设备的方法的另一示例实施例的流程图;和
[0062] 图15是用于说明操作数据压缩设备的方法的又一示例实施例的流程图。
具体实施方式
[0063] 现在此后将参考附图更全面地描述示例实施例。但是,示例实施例可以用很多不 同的形式具体实施,并且不应被理解为限于这里给出的示例实施例。相反,提供了这些示例 实施例以使本公开将会透彻和完整。在附图中,为了清晰可能夸大层和区域的尺寸和相对 尺寸。相同的数字通篇指示相同的元素。
[0064] 将会理解,当一元素被称为“连接到”或者“耦接到”另一元素时,其可能直接连接 或者耦接到所述另一元素,或者,可能存在居间的元素。相反,当一元素被称为“直接连接 至IJ”或者“直接耦接到”另一元素时,没有居间的元素存在。如这里所使用的那样,术语“和/ 或”包括一个或更多个相关联的被列出项目的任意以及全部组合,并且可以被简写为7”。 [0065] 将会理解,尽管这里可能使用术语第一、第二等来描述各种元素,这些元素不应受 这些术语限制。这些术语仅用来将一个元素与另一元素区别。例如,第一信号可以被称为第 二信号,并且类似地,第二信号可以被称为第一信号而不偏离本公开的教导。
[0066] 这里使用的术语仅仅是为了描述具体实施例的目的,并非旨在限制。如这里使用 的那样,预期单数形式“一”、“一个”和“该”也包括复数形式,除非上下文明确地另有规定。 还将会理解,当在本说明书中使用时,术语“包含”或者“包括”规定存在所陈述的特征、区 域、步骤、操作、元素,和/或部件,但是不排除存在或者添加一个或更多个其他的特征、区 域、步骤、操作、元素,和/或部件,和/或其组。
[0067] 除非另外限定,否则这里使用的所有术语(包括技术和科学术语)具有和本发明示 范性实施例所属技术领域技术人员通常理解的相同的含义。还将会理解,术语一一例如在 常用词典中定义的那些,应该被解释为具有和其在相关技术和/或本说明书的上下文中的 含义一致的含义,并且将不被以理想化或者过于正式地意义解释,除非在这里明确地如此 限定。
[0068] 在某些替代的实施方案中,注明的功能/动作可能不按在图中注明的顺序出现。例 如,连续示出的两幅图实际上可以被基本上并发地执行,或者有时候可能被按颠倒的顺序 执行,取决于所涉及的功能/动作。
[0069] 尽管一个流程图可能把操作描述为顺序的过程,但是这些操作中的很多可以被并 行地、并发地或同时地执行。此外,操作的顺序可以被重新安排。一过程在其操作被完成时 可被终止,但是也可能具有未被包括在图中的额外步骤。一过程可能对应于方法、函数、步 骤、子例程、子程序等。当一过程对应于函数时,其终止可以对应于该函数返回调用函数或 者主函数。
[0070] 在下面的描述中,至少某些示例实施例被参考动作或者操作的符号表示(例如以 流程图、流图、数据流图、过程流图、部分过程流图、结构图、框图等的形式)描述,至少其中 的某些可以被实施为程序模块或者包括例程、程序、对象、部件、数据结构等的功能过程,所 述功能过程执行特定任务或者实施特定的抽象数据类型。这些程序模块和/或函数过程可 被使用硬件实施,例如一个或更多个中央处理单元(CPU)、数字信号处理器(DSP)、专用集成 电路、现场可编程门阵列(FPGA)计算机,等等。
[0071] 如这里所公开的,术语“存储介质”或者“计算机可读存储介质”可以代表一个或更 多个用于存储数据的设备,包括只读存储器(ROM)、随机访问存储器(RAM)、磁性RAM、磁芯存 储器、磁盘存储介质、光学存储介质、闪存存储器件,和/或其他用于存储信息的有形的机器 可读介质。术语“计算机可读介质”可以包括但不限于便携式或者固定的存储设备、光学存 储设备,以及能够存储、包含或者携带指令和/或数据的各种其他介质。
[0072] 此外,示例实施例可以由硬件、软件、固件、中间件、微码、硬件描述语言,或者其任 意组合实施。当在软件、固件、中间件或者微码中实施时,用于执行必要任务的程序代码或 者代码段可以被存储在机器或者计算机可读介质中,诸如计算机可读存储介质。当在软件 中实施时,处理器或者多个处理器将执行所述必要任务。
[0073] 代码段可以代表步骤、函数、子程序、程序、例程、子例程、模块、软件包、类,或者指 令、数据结构或者程序语句的任意组合。代码段可以通过传递和/或接收信息、数据、自变 量、参数或者存储器内容耦接到其他代码段或者硬件电路。可以通过任何适当的手段,包括 存储器共享、消息传递、令牌传递、网络传输等来传递、转发或者传送信息、自变量、参数、数 据等。
[0074]图1A是根据本发明总体构思的示例实施例的数据压缩设备10A的框图。图1B是从 图1的输入缓冲器30输出的被缓冲数据的示例输出时序图。图1C示出了针对图1B讨论的被 缓冲数据的示例结构。
[0075] 参考图1A-1C,数据压缩设备10A包括数据模式分析器20A、输入缓冲器30和数据压 缩管理器40。至少在图1A中所示的示例实施例中,数据压缩设备10A还包括输出缓冲器50。 在一个例子中,数据压缩设备10A可以由集成电路(1C)、这里讨论的任何硬件或者类似的硬 件来具体实施。
[0076] 在一个例子中,数据模式分析器20A可以由这里讨论的硬件,诸如能够分析输入数 据DATA的模式的处理器来具体实施。数据压缩管理器40可以由这里讨论的硬件,诸如能够 基于来自数据模式分析器20A的分析码INF1选择性地压缩来自输入缓冲器30的被缓冲数 据BDi的处理器来具体实施。
[0077] 在示例操作中,数据模式分析器20A分析被传送到输入缓冲器30的输入数据DATA 的模式,并基于分析的模式产生分析码INF1 (分析结果)。数据模式分析器20A以分析结果的 形式把分析码INF1输出到数据压缩管理器40。
[0078] 仍参考图1A,数据模式分析器20A包括头分析器21。头分析器21分析输入数据DATA 的头HEADER中所包括的指示位,并基于对指示位的分析产生分析码INF1。分析码INF1可以 包括一个或更多个位。即,例如,分析码INF1可以是单位码或者多位码。
[0079] 头HEADER中所包括的指示位指示输入数据DATA的体数据DATA1是否是压缩数据。 尽管被作为一个指示位讨论,但是该指示位也可以包括一个或更多个位。在一个例子中,当 体数据DATA1是压缩数据(例如多媒体数据)时,头HEADER中所包括的指示位可以具有第一 值(例如1)。在另一方面,当输入数据DATA的体数据DATA1是非压缩数据时,头HEADER中所包 括的指示位可以具有不同于第一值的第二值(例如〇)。
[0080] 在这个例子中,当指示位具有第一值时,头分析器21输出具有第一值(例如1)的分 析码INF1,但是当指示位具有第二值(例如0)时输出具有第二值(例如0)的分析码INF1。 [0081] 输入缓冲器30缓冲从数据总线接收到的输入数据DATA,并输出被缓冲的数据BDi。 在一个例子中,当输入数据DATA是包括“a”位数的多位数据时,被缓冲的数据BDi也可以是 包括“b”位数的多位数据。在这种情况下,“a”和“b”是自然数,并且a = b,或者,“b”是“a”的 整数倍。
[0082] 在更具体的例子中,当输入数据DATA是8位数据并且被缓冲的数据BDi是64位数据 时,数据模式分析器20A在时间间隔T内分析每一组8位输入数据的模式。输入缓冲器30根据 当在输入缓冲器30接收到所有八个输入数据DATA时激活的使能信号EN输出被缓冲的数据 BDi,其中,i = 0,l,2,3,...。
[0083] 仍参考图1A,数据压缩管理器40基于从数据模式分析器20A输出的分析码INF1选 择性地压缩被缓冲的输入数据BDi。然后,数据压缩管理器40把来自输入缓冲器30的被缓冲 数据BDi或者通过压缩被缓冲数据BDi产生的压缩数据CDATA其中之一输出。换句话说,数据 压缩管理器40分流(bypass)被缓冲数据BDi的压缩,或者压缩被缓冲的数据BDi以产生压 缩数据CDATA。
[0084] 在一个例子中,当分析码INF1具有第二值(例如0)时,数据压缩管理器40压缩来自 输入缓冲器30的被缓冲数据BDi以产生压缩数据CDATA,并且把压缩数据CDATA输出到输出 缓冲器50。在另一方面,当分析码INF1具有第一值(例如1)时,数据压缩管理器40把被缓冲 的数据BDi无压缩地输出到输出缓冲器50。
[0085] 在图1A中所示的示例实施例中,数据压缩管理器40包括存储器41、处理器43和选 择器45。存储器41接收并存储分析码INF1。选择器45基于存储在存储器41中的分析码INF1, 把被缓冲的数据BDi输出到输出缓冲器50或者把被缓冲数据BDi传送到处理器43供压缩。例 如,如果分析码INF1具有第一值,则选择器45把被缓冲数据BDi输出到输出缓冲器50。但是, 如果分析码INF1具有第二值,则选择器45把被缓冲数据BDi输出到处理器43以便压缩。处理 器43压缩从选择器45输出的被缓冲数据BDi以产生压缩数据CDATA,并把压缩数据CDATA输 出到输出缓冲器50
[0086] 对于图1C中所示的数据,处理器43顺次地压缩各符号A1、A2和A3,并输出指示符号 之间的关系的信息而不压缩与先前被压缩的符号相同的符号。在这个例子中,处理器43可 以压缩第一符号A1,但是不压缩第四符号A1。或者,处理器43可以压缩被缓冲数据BDi的所 有符号。
[0087] 再参考图1A,输出缓冲器50接收并缓冲来自数据压缩管理器40的数据(例如,被缓 冲数据BDi或者压缩数据CDATA)。然后,数据被从输出缓冲器50输出到非易失性存储器。 [0088] 在图1A中所示的示例实施例中,在输入数据DATA被传送到输入缓冲器30和/或在 输入缓冲器30被缓冲时,数据模式分析器20A分析输入数据DATA的模式(例如,头HEADER中 所包括的指示位)。然后,数据模式分析器20A基于分析把分析码INF1传送到数据压缩管理 器40。数据压缩管理器40基于分析码INF1确定是否压缩被缓冲的数据BDi。
[0089]因为数据压缩管理器40无需单独读取存储在输入缓冲器30中的每一输入数据 DATA或者每一被缓冲的数据BDi来分析每一输入数据DATA的模式,所以数据压缩速度可以 提尚。
[0090] 图2是根据本发明总体构思的另一示例实施例的数据压缩设备的框图。
[0091] 和图1A到图1C中的输入数据DATA不同,图2中的输入数据DATA不包括具有指示体 数据DATA1中的数据是否是压缩数据的指示位的头信息。
[0092] 参考图2,数据压缩设备10B包括数据模式分析器20B、输入缓冲器30和数据压缩管 理器40。在图2中所示的示例实施例中,数据压缩设备10B还包括输出缓冲器50。
[0093] 数据模式分析器20B包括模式分析器23。当输入数据DATA被传送到输入缓冲器30 时,模式分析器23接收输入数据DATA,分析输入数据DATA的模式,并基于分析结果输出分析 码INF2。在这种情况下,模式分析器23分析图1C的被缓冲数据D0中所包括的每一输入数据 DATA的模式,直到图1B的下一被缓冲数据D1被输出为止。
[0094] 在这个例子中,模式分析器23对输入数据DATA中所包括的多个符号中的每一个的 频率进行计数,把最大(或者最小)频率与参考值进行比较,并把比较结果作为分析码INF2 输出到数据压缩设备40。单个符号可以包括k位,其中“k”是自然数。在一个例子中,k = 8 [0095]图3是用于说明图2中所示的数据模式分析器20B的示例操作的表格。
[0096] 参考图2和图3,模式分析器23确定输入数据DATA中所包括的多个符号AA、BB、CC、 DD、EE、FF等中的各个的频率10、100、1000、2、5、50等。然后,模式分析器把最大(或者最小) 频率与参考值进行比较。
[0097]当最大频率大于参考值(例如,对应于最大频率的符号的重复数相对较高)时,模 式分析器23把具有第二值(例如0)的分析码INF2输出到数据压缩管理器40。具有第二值的 分析码INF2指示输入数据DATA应该被数据压缩管理器40压缩。响应于具有第二值的分析码 INF2,数据压缩管理器40压缩来自输入缓冲器30的被缓冲数据BDi,并把被压缩数据CDATA 直接或者通过输出缓冲器50输出到非易失性存储器件(例如闪存存储器件)。
[0098]当最大频率小于或等于参考值时,模式分析器23把具有第一值(例如1)的分析码 INF2输出到数据压缩管理器40。具有第一值的分析码INF2指示被缓冲数据BDi不需要由数 据压缩管理器40压缩。响应于具有第一值的分析码INF2,数据压缩管理器40分流被缓冲数 据BDi的压缩,并把被缓冲数据BDi直接或者通过输出缓冲器50传送到非易失性存储器件。
[0099] 图4是根据本发明总体构思的又一示例实施例的数据压缩设备10C的框图。
[0100] 参考图4,数据压缩设备10C包括数据模式分析器20C、输入缓冲器30和数据压缩管 理器40。在图4中所示的示例实施例中,数据压缩设备10C还包括输出缓冲器50。
[0101] 数据模式分析器20C包括头分析器25和估计器26。
[0102] 头分析器25分析输入数据DATA的头HEADER中所包括的指示位。基于指示位,头分 析器25把控制信号输出到估计器26,并把第一控制码输出到数据压缩管理器40。控制信号 控制估计器26的操作,并且第一控制码控制数据压缩管理器40的操作。
[0103] 如果指示位具有第一值(例如1),指示体数据DATA1中所包括的数据是压缩数据, 则头分析器25通过把具有第一值的控制信号(例如具有低电平的控制信号)输出到估计器 26来禁止估计器26的操作。头分析器25也把第一控制码输出到数据压缩管理器40。在这个 例子中,第一控制码指令数据压缩管理器40分流被缓冲数据BDi的压缩。
[0104] 如果指示位具有第二值(例如0),指示体数据DATA1中所包括的数据是未压缩数 据,则头分析器25通过把控制信号(例如具有高电平的激活控制信号)输出到估计器26来使 能估计器26的操作。
[0105] 当被使能时,估计器26对输入数据DATA (例如体数据DATA1)中所包括的各个符号 (例如AA、BB、CC、DD、EE、FF等)的频率(例如10、100、1000、2、5、50等)进行计数,例如图3中所 不。
[0106] 仍参考图4,估计器26还根据编码规则把码字1011、101、10、10101、10001、110等分 配给各个符号六4、88、0:、004£、??等。然后,估计器26基于各个符号44、88、0:、004£、?卩等 的频率10、100、1000、2、5、50等以及被分配给各个符号44、88、(:(:、004£、??等的各个码字 1011、101、10、10101、10001、110等的位数4、3、2、5、5、3等估计被压缩数据的大小。然后,估 计器26把估计的被压缩数据的大小(此后,称为“估计数据ECDATA”)与参考数据的大小进行 比较,并把比较结果输出到数据压缩管理器40。
[0107] 在一个例子中,估计器26根据等式1计算估计数据ECDATA的大小。
[0108]
Figure CN102694554BD00141
[0109] 在等式1中,“n”是自然数并代表体数据DATA1中所包括的数据的符号的总数,“fi” 代表第i个符号的频率,并且“Bi”代表分配给第i个符号的码字的位数。
[0110] 例如,对于图3,符号AA的频率是10,分配给符号AA的码字1011的位数是4,符号CC 的频率是1000,并且分配给符号CC的码字10的位数是2,等等。
[0111] 在更具体的例子中,如果输入数据DATA的大小是5千字节,参考数据的大小是3千 字节,并且根据等式1计算的估计数据ECDATA的大小大于3千字节,则估计器26输出第二控 制码,第二控制码指示被缓冲数据BDi的压缩应该被分流。
[0112] 在另一方面,如果根据等式1计算的估计数据ECDATA的大小小于3千字节,则估计 器26输出第二控制码,指示被缓冲数据BDi应该被压缩。
[0113] 根据至少一些示例实施例,参考数据的大小可以是输入数据DATA大小的c倍,其中 “c”是小数(例如大约0.6)。
[0114] 图4中所示的分析码INF3包括根据头HEADER中所包括的指示位产生的第一控制码 和基于估计数据ECDATA的大小和参考数据的大小之间比较的结果产生的第二控制码。
[0115] 如针对图1A到图4所描述的那样,被缓冲数据BDi由数据压缩管理器40输出而不被 压缩的条件是:体数据DATA1中所包括的数据已经被压缩;或者,体数据DATA1中所包括的数 据是未压缩数据,并且估计数据ECDATA的大小大于参考数据的大小。
[0116] 仍参考图4,数据压缩管理器40分析来自数据模式分析器20C的分析码INF3,并根 据分析的结果输出被缓冲的数据BDi或者压缩数据CDATA。当体数据DATA1中所包括的数据 是未压缩数据并且估计数据ECDATA的大小小于参考数据的大小时,数据压缩管理器40根据 从数据模式分析器20C输出的分析码INF3压缩被缓冲数据BDi并输出压缩数据CDATA。
[0117] 如上所述,在每一输入数据DATA被传送到输入缓冲器30时,数据模式分析器20C分 析每一输入数据DATA的模式,并把分析码INF3传送到数据压缩管理器40。数据压缩管理器 40根据分析码INF3选择性地压缩被缓冲数据BDi。
[0118] 图5是根据本发明总体构思的又一示例实施例的数据压缩设备10D的框图。
[0119] 参考图5,数据压缩设备10D包括数据模式分析器20D、输入缓冲器30和数据压缩管 理器40。至少在这个示例实施例中,数据压缩设备10D还包括输出缓冲器50。
[0120] 数据模式分析器20D包括模式分析器27和估计器28。将针对图3中所示的示例表格 讨论数据压缩设备10D的示例操作。
[0121] 参考图3和图5,模式分析器27对输入数据DATA中所包括的各个符号AA、BB、CC、DD、 ££、??等的频率10、100、1000、2、5、50等进行计数,并根据编码规则把码字1011、101、10、 10101、10001、110等分配给各个符号4438、0:、00、££、??等。然后,模式分析器27把频率10、 100、1000、2、5、50 等以及码字 1011、101、10、10101、10001、110 等传送到估计器 28。
[0122] 根据等式1,估计器28基于接收到的频率10、100、1000、2、5、50等以及各个码字 1011、101、10、10101、10001、110等的位数4、3、2、5、5、3等对估计数据£0^了4的大小进行估 计。然后,估计器28把估计数据ECDATA的大小与参考数据的大小进行比较,根据比较结果产 生分析码INF4,并把分析码INF4输出到数据压缩管理器40。
[0123] 当估计数据ECDATA的大小小于参考数据的大小(例如压缩效率很优越)时,数据压 缩管理器40根据从数据模式分析器20D输出的分析码INF4 (例如具有第二值,诸如0)压缩被 缓冲数据BDi,并把压缩数据CDATA输出到输出缓冲器50。但是,当估计数据ECDATA的大小大 于参考数据的大小时(例如压缩效率不佳),数据压缩管理器40根据来自数据模式分析器 20D的分析码INF4 (例如具有第一值,诸如1)输出被缓冲的数据BDi。在这个例子中,小于参 考数据的大小的估计数据ECDATA的大小指示优越的压缩效率,而大于参考数据的大小的估 计数据ECDATA的大小指示不佳的压缩效率。
[0124] 图13是根据本发明总体构思的又一示例实施例的数据压缩设备1310的框图。
[0125] 参考图13,数据压缩设备1310包括数据模式分析器1320、输入缓冲器30和数据压 缩管理器40。至少在这个示例实施例中,数据压缩设备1310还包括输出缓冲器50。
[0126] 数据模式分析器1320包括头分析器1325和模式分析器1327。图13中所示的数据模 式分析器1320和图1A中的数据模式分析器20A以及图2中的数据模式分析器20B类似,只不 过数据模式分析器1320既包括头分析器1325也包括模式分析器1327。下面将针对图6中所 示的流程图更详细地讨论数据压缩设备1310的示例操作。
[0127] 参考图13,头分析器1325检测输入数据DATA是否包括头HEADER。如果输入数据 DATA包括头HEADER,则头分析器1325分析输入数据DATA的头HEADER中所包括的指示位,并 基于对指示位的分析产生分析码INF1。针对图13讨论的指示位和分析码INF1与上面针对例 如图1A讨论的指示位和分析码INF1相同或者基本相同。
[0128] 和在图1A中一样,在这个例子中,当指示位具有第一值(例如1)时,头分析器1325 输出具有第一值(例如1)的分析码INF1,但是当指示位具有第二值(例如0)时输出具有第二 值(例如〇)的分析码INF1。
[0129] 仍参考图13,数据模式分析器1320也包括模式分析器1327。如果头分析器1325在 输入数据DATA中未检测到头HEADER,则模式分析器1327接收输入数据DATA,分析输入数据 DATA的模式,并基于分析结果输出分析码INF2。在这种情况下,模式分析器1327分析每一输 入数据DATA的模式。
[0130] 在这个例子中,模式分析器1327对输入数据DATA中所包括的多个符号中的每一个 的频率进行计数,把最大(或者最小)频率与参考值进行比较,并把比较结果作为分析码 INF2输出到数据压缩设备40。如上所述,单个符号可以包括k位,其中“k”是自然数。在一个 例子中,k = 8。
[0131] 输入缓冲器30缓冲从数据总线接收到的输入数据DATA,并输出被缓冲数据BDi。在 一个例子中,当输入数据DATA是包括V位数的多位数据时,被缓冲的数据BDi也可以是包 括V位数的多位数据。在这种情况下,“a”和“b”是自然数,并且a = b,或者,“b”是“a”的整 数倍。
[0132] 仍参考图1A,数据压缩管理器40基于从数据模式分析器1320输出的分析码INF1或 INF2选择性地压缩被缓冲的输入数据BDi。然后,数据压缩管理器40把来自输入缓冲器30的 被缓冲数据BDi或者通过压缩被缓冲数据BDi产生的压缩数据CDATA其中之一输出。换句话 说,数据压缩管理器40分流被缓冲数据BDi的压缩,或者压缩被缓冲的数据BDi以产生压缩 数据CDATA。
[0133] 在一个例子中,当分析码INF1或INF2具有第二值(例如0)时,数据压缩管理器40压 缩来自输入缓冲器30的被缓冲数据BDi以产生压缩数据CDATA,并且把压缩数据CDATA输出 到输出缓冲器50。在另一方面,当分析码INF1或INF2具有第一值(例如1)时,数据压缩管理 器40把被缓冲的数据BDi无压缩地输出到输出缓冲器50。
[0134] 在图1A中所示的示例实施例中,数据压缩管理器40包括存储器41、处理器43和选 择器45。存储器41接收并存储分析码INF1或INF2。选择器45基于存储在存储器41中的分析 码INF1或INF2,把被缓冲的数据BDi输出到输出缓冲器50或者把被缓冲数据BDi传送到处理 器43供压缩。例如,如果分析码INF1或INF2具有第一值,则选择器45把被缓冲数据BDi输出 到输出缓冲器50。但是,如果分析码INF1或INF2具有第二值,则选择器45把被缓冲数据BDi 输出到处理器43以便压缩。处理器43压缩从选择器45输出的被缓冲数据BDi以产生压缩数 据CDATA,并把压缩数据CDATA输出到输出缓冲器50。
[0135] 输出缓冲器50接收并缓冲来自数据压缩管理器40的数据(例如被缓冲数据BDi或 者压缩数据CDATA)。然后,数据被从输出缓冲器50输出到非易失性存储器。
[0136] 图6是用于说明根据示例实施例的数据压缩设备的示例操作的流程图。针对图6所 讨论的方法可以结合具有包括头分析器和模式分析器的数据模式分析器的数据压缩设备 使用。图13中示出了这种数据压缩设备的示例实施例。因此,将针对图13中所示的数据压缩 设备1310讨论图6中所示方法。
[0137] 参考图6和图13,在S10,头分析器1325检测输入数据DATA是否包括头HEADER。如果 头分析器1325确定输入数据DATA包括头HEADER,则在S30头分析器1325基于头HEADER中所 包括的指示位确定输入数据DATA是否已被压缩。当头HEADER中所包括的指示位指示体数据 DATA1中所包括的数据是压缩数据时,头分析器1325确定输入数据DATA已被压缩。
[0138] 如果在S30头分析器1325确定体数据DATA1是压缩数据,则分析器1325把指示输入 数据DATA已被压缩的分析码INF1传送到数据压缩管理器40。结果,在S32,数据压缩管理器 40把被缓冲数据BDi无压缩地(分流被缓冲数据BDi的压缩)输出到输出缓冲器50。然后,在 S36,被数据压缩管理器40分流的被缓冲数据BDi被直接地或者通过输出缓冲器50存储在非 易失性存储器件中。
[0139] 返回S30,如果头分析器1325确定体数据DATA1中所包括的数据是未压缩数据,则 头分析器1325把指示体数据DATA1中所包括的数据是不压缩数据的分析码INF1传送到数据 压缩管理器40。响应于分析码INF1,在S34,数据压缩管理器40压缩被缓冲数据BDi以产生压 缩数据CDATA。然后在S36,从数据压缩管理器40输出的压缩数据CDATA被直接地或者通过输 出缓冲器50存储在非易失性存储器件中。
[0140] 现在返回图6中的S20,如果在S20头分析器1325确定在输入数据DATA中不存在头 HEADER,则过程如下面针对图7所讨论的那样继续。
[0141] 图7是用于说明操作数据压缩设备的方法的另一示例实施例的流程图。图7中所示 的方法可以结合例如数据压缩设备10B、10C和/或1310实施。但是为了举例目的,将针对图2 中所示的数据压缩设备10B描述图7中所示的流程图。但是,应该理解,数据压缩设备1310可 以执行相同或者大致相同的操作。
[0142] 参考图7,在S40,图2的模式分析器23搜索输入数据DATA的模式。然后,在S42模式 分析器23分析输入数据DATA的模式。在这个例子中,模式分析器23对输入数据DATA中所包 括的每一符号的频率进行计数。在S44,模式分析器23把被计数频率的最大频率(或最小频 率)和参考值进行比较。
[0143] 如果最大频率(或最小频率)大于或等于参考值,则模式分析器23把指示被缓冲数 据BDi应该被压缩的分析码INF2传送到数据压缩管理器40。响应于分析码INF2,数据压缩管 理器40在S46压缩被缓冲数据BDi。然后,在S50,压缩数据CDATA被直接地或者通过输出缓冲 器50存储在非易失性存储器件中。
[0144] 返回S44,当最大频率(或最小频率)小于参考值时,模式分析器23把指示被缓冲数 据BDi无需被压缩的分析码INF2传送到数据压缩管理器40。响应于分析码INF2,数据压缩管 理器40在S48把被缓冲数据BDi无压缩地输出到输出缓冲器50。然后,在S50,存储在输出缓 冲器50中的被缓冲数据BDi被存储在非易失性存储器件中。
[0145] 图8是用于说明操作数据压缩设备的方法的另一示例实施例的流程图。可以结合 图5的数据压缩设备10D实施图8中所示的方法。
[0146] 参考图8,在S40,图5的模式分析器27搜索输入数据DATA的模式。
[0M7] 在S60,模式分析器27对输入数据DATA中所包括的每一符号的频率进行计数,根据 编码规则给每一符号分配码字,并把每一符号的频率和分配给每一个符号的码字输出到估 计器28。
[0148] 在S80,估计器28使用从模式分析器27输出的每一符号的频率和分配给每一符号 的码字的位数,根据等式1计算估计数据ECDATA的大小。
[0149] 在S82,估计器28把估计数据ECDATA的大小与参考数据的大小进行比较。
[0150] 如果估计数据ECDATA的大小大于参考数据的大小,则估计器28把指示被缓冲数据 BDi无需被压缩的分析码INF4传送到数据压缩管理器40。结果,数据压缩管理器40在S84把 被缓冲数据BDi无压缩地输出到输出缓冲器50。然后,在S88,存储在输出缓冲器50中的被缓 冲数据BDi被存储在非易失性存储器件中。
[0151] 返回S82,当估计数据ECDATA的大小小于或等于参考数据的大小时,估计器28把指 示被缓冲数据BDi应该被压缩的分析码INF4传送到数据压缩管理器40。响应于分析码INF4, 数据压缩管理器40在S86压缩被缓冲数据BDi。然后,在S88,压缩数据CDATA被直接地或者通 过输出缓冲器50存储在非易失性存储器件中。
[0152] 根据至少某些示例实施例,模式分析器27对输入数据DATA中所包括的每一符号的 频率进行计数,并根据编码规则给每一代符号分配码字。编码规则可以是霍夫曼编码规则、 Lempel Zip Welch (LZW)编码规则、算术编码规则、游程编码(run length encoding,RLE), 或者任何其他适当的编码规则。霍夫曼编码规则可以是静态霍夫曼编码规则或者动态霍夫 曼编码规则。
[0153] 图9是用于说明操作图5的使用静态霍夫曼编码规则的模式分析器27的方法的示 例实施例的流程图。
[0154] 参考图5和图9,在S40模式分析器27搜索输入数据DATA的模式。在S61,每次在输入 数据DATA中找到符号时,在S62模式分析器27把对应符号的频率增加(或者递增)1。
[0155] 然后,在S63模式分析器27确定是否已经到达输入数据DATA的末尾。如果已经到达 输入数据DATA的末尾,则在S64,模式分析器27对输入数据DATA中所包括的每一符号的频率 进行计数,并根据编码规则给每一符号分配码字。在这个例子中,编码规则是静态霍夫曼编 码规则。
[0156] 返回S63,如果还未到达输入数据DATA的末尾,则过程返回S40,并针对输入数据 DATA中的下一符号如上所述那样继续。
[0157] 返回S61,如果模式分析器27在输入数据DATA中未找到符号,则过程前进到S63并 如上所述那样继续。
[0158] 图10是用于说明操作图5的使用动态霍夫曼编码规则的模式分析器27的方法的示 例实施例的流程图。
[0159] 参考图5和图10,在S40,模式分析器27搜索输入数据DATA的模式。
[0160]当在S66找到输入数据DATA中所包括的符号时,在S67模式分析器27确定该符号是 否是新符号。如果该符号是新符号,则在S68,模式分析器27把符号添加到符号列表,并在 S69把对应符号的频率增加(或者递增)1。
[0161] 然后,模式分析器27检查是否已经到达输入数据DATA的末尾。如果在S70已经到达 输入数据DATA的末尾,则在S71,模式分析器27对输入数据DATA中所包括的每一符号的频率 进行计数,并根据编码规则给每一符号分配码字。在这个例子中,编码规则是动态霍夫曼编 码规则。
[0162] 返回S70,如果还未到达输入数据DATA的末尾,则过程返回S40,并针对输入数据 DATA的剩余部分如上所述那样继续。
[0163] 返回S67,当找到的符号不是新符号时,过程前进到S69并如上所述那样继续。
[0164] 返回S66,如果在输入数据DATA中未找到符号,则过程前进到S70并如上所述那样 继续。
[0165] 图14是用于说明操作图1A的数据压缩设备10A的方法的示例实施例的流程图。
[0166] 参考图1A和图14,在S1402,头分析器21基于头HEADER中所包括的指示位确定输入 数据DATA是否已被压缩。当头HEADER中所包括的指示位指示体数据DATA1中所包括的数据 是压缩数据时,头分析器21确定输入数据DATA已被压缩。
[0167] 如果在S1402头分析器21确定体数据DATA1中所包括的数据是压缩数据,则头分 析器21把指示数据已被压缩的分析码INF1传送到数据压缩管理器40。结果,在S1406,数据 压缩管理器40把被缓冲数据BDi无压缩地输出(分流被缓冲数据BDi的压缩)到输出缓冲器 50。然后,在S1408,被数据压缩管理器40分流的被缓冲数据BDi被直接地或者通过输出缓冲 器50存储在非易失性存储器件中。
[0168] 返回S1402,如果头分析器21确定体数据DATA1中所包括的数据是未压缩数据,则 头分析器21把指示体数据DATA1中所包括的数据是未压缩数据的分析码INF1传送到数据压 缩管理器40。响应于分析码INF1,在S1404,数据压缩管理器40压缩被缓冲数据BDi以产生压 缩数据CDATA。然后在S1408,从数据压缩管理器40输出的压缩数据CDATA被直接地或者通过 输出缓冲器50存储在非易失性存储器件中。
[0169] 图15是用于说明操作图4的数据压缩设备10C的方法的又一示例实施例的流程图。
[0170] 在S1502,头分析器25通过分析输入数据DATA的头HEADER中所包括的指示位确定 输入数据DATA是否是压缩数据。如果指示位具有第一值(例如1),指示体数据DATA1中所包 括的数据是压缩数据,则在S1504头分析器25通过把具有第一值的控制信号(例如具有低电 平的控制信号)输出到估计器26来禁止估计器26的操作。在S1506,头分析器25把指令数据 压缩管理器40分流被缓冲数据BDi的压缩的分析码INF3输出到数据压缩管理器40。
[0171] 返回S1502,如果指示位具有第二值(例如0),指示体数据DATA1中所包括的数据是 未压缩数据,则在S1508头分析器25通过把控制信号(例如具有高电平的激活控制信号)输 出到估计器26来使能估计器26的操作。
[0172] 在S1510,估计器26如上面针对图4所讨论的那样估计压缩数据CDATA的大小。
[0173] 在S1512,估计器26把估计的压缩数据的大小(此后称为“估计数据ECDATA”)与参 考数据的大小进行比较。这里讨论的参考数据和上面讨论的参考数据相同。
[0174] 如果估计数据ECDATA的大小大于参考数据的大小,则估计器26把指示被压缩数据 BDi无需被压缩的分析码INF3传送到数据压缩管理器40。结果,在S1506,数据压缩管理器40 把被缓冲数据BDi无压缩地输出到输出缓冲器50。然后,在S1516,存储在输出缓冲器50中 的被缓冲数据BDi被存储在非易失性存储器件中。
[0175] 返回S1512,当估计数据ECDATA的大小小于或者等于参考数据的大小时,估计器26 把指示被缓冲数据BDi应该被压缩的分析码INF3传送到数据压缩管理器40。响应于分析码 INF3,在S1514数据压缩管理器40压缩被缓冲数据BDi。然后,在S1516,压缩数据⑶ATA被直 接地或者通过输出缓冲器50存储在非易失性存储器件中。
[0176]图11示出了根据本发明总体构思的示例实施例的数据处理系统100。数据处理系 统100可以包括图1A、2、4、5或者13的数据压缩设备10A、10B、10C、10D或者1310的示例实施 例。数据处理系统1〇〇可以由固态驱动器(solid state drive,SSD)等具体实施。
[0177] 数据处理系统100包括数据模式分析器20,数据模式分析器20可以是数据模式分 析器20A到20D以及1320其中之一。
[0178] 参考图11,数据处理系统(或者数据处理装置)100包括存储器控制器90和多个闪 存存储(例如NAND)器件141。存储器控制器90包括主机接口 101,数据压缩管理器40、主处理 器110、易失性存储器120和闪存管理控制器(FMC) 140,主机接口 101包括数据模式分析器 20。元件40、101、110、120和140中的每一个均可以经由数据总线100-1执行数据通信。主机 接口 101执行用于主机(未示出)和存储器控制器90之间的通信的接口功能。
[0179] 在一个例子中,易失性存储器120可以由动态随机访问存储器(DRAM)具体实施,并 且可以执行图1A、2、4、5或者13中所示的输入缓冲器30和输出缓冲器50的功能。
[0180] 在从主机输出的输入数据DATA经由第一数据路径PATH1传送到易失性存储器120 时,数据模式分析器20接收输入数据DATA并分析接收到的输入数据DATA的模式。根据上面 参考图1A-10、13、14和15描述的示例方法中的一个或更多个来分析输入数据DATA的模式。
[0181] 数据模式分析器20根据分析的结果把分析码INF1、INF2、INF3或者INF4经由总线 100-1传送到数据压缩管理器40。
[0182] 如果分析码INF1、INF2、INF3或者INF4指示数据无需被压缩,则数据压缩管理器40 把经由第二数据路径PATH2从易失性存储器120的输入缓冲器30读取的被缓冲数据BDi无 压缩地输出,并把被缓冲数据BDi存储在易失性存储器120的输出缓冲器50中。
[0183] 如果分析码INF1、INF2、INF3或者INF4指示数据应该被压缩,则数据压缩管理器40 压缩经由第二数据路径PATH2从易失性存储器120的输入缓冲器30读取的被缓冲数据BDi, 并把压缩数据CDATA存储在易失性存储器120的输出缓冲器50中。
[0184] 存储在易失性存储器120的输出缓冲器50中的数据(例如被缓冲数据BDi或者压缩 数据CDATA)被经由第三数据路径PATH3传送到FMC 140。然后,被缓冲数据BDi或者压缩数据 CDATA被根据FMC 140的控制输出到至少一个闪存存储器件141。
[0185] 图12示出了包括根据范性实施例的数据处理系统。图12中所示的数据处理系统包 括图1A、2、4、5或13的数据压缩设备10A、10B、10C、10D或者1310。
[0186] 参考图12,数据处理系统(或者数据处理装置)100可以由智能卡、存储卡等具体实 施。如图12中所示,数据处理系统200包括卡接口 210、存储器控制器220和非易失性存储器 件 230〇
[0187] 存储器控制器220包括数据压缩设备10,其代表数据压缩设备10A、10B、10C、10DS 者1310中的一个或更多个。在至少某些示例实施例中,数据压缩设备10可以被安排在存储 器控制器220的外部。
[0188] 卡接口210控制存储器控制器220和主机(未示出)之间的数据交换。存储器控制器 220控制非易失性存储器件230的操作,例如编程操作、读取操作和/或擦除操作。
[0189] 在从主机输出并通过卡接口 210输入的数据DATA被传送到输入缓冲器30时,数据 压缩设备10分析数据DATA的模式。基于这个分析,数据压缩设备10选择性地压缩被缓冲数 据BDi,并把被缓冲数据BDi或者压缩数据CDATA输出到非易失性存储器件230。
[0190] 如上所述,根据至少某些示例实施例,在数据被传送到输入缓冲器时,数据的模式 被分析,并根据分析结果确定是否压缩数据,以使数据压缩时间可被减少。
[0191] 这里针对参考值讨论了示例实施例。这些参考值可以是基于经验学习和/或数据 确定的设计参数。
[0192] 虽然已经参考本发明总体构思的某些示例实施例具体示出并描述了本发明总体 构思,但是将会理解,不偏离下列权利要求的精神和范围就可以对其做出形式和细节上的 各种变化。

Claims (39)

1. 一种压缩数据的方法,包含: 由分析器基于数据的模式和数据的头中所包括的指示位的值其中之一分析数据以确 定是否压缩数据; 产生分析的结果,所述分析和产生中的至少一个在数据在输入缓冲器中被缓冲时被执 行;和 基于分析的结果选择性地压缩被缓冲的数据。
2. 如权利要求1所述的方法,其中,所述分析数据包含: 分析数据的头中所包括的指示位,所述指示位指示是否压缩数据,其中基于对指示位 的分析而产生所述分析的结果。
3. 如权利要求1所述的方法,其中,所述分析数据包含: 对数据中所包括的多个符号中的每一个的频率进行计数;和 把参考值与被计数频率的最大者和最小者其中之一进行比较,其中 基于所述比较产生所述分析的结果。
4. 如权利要求1所述的方法,其中,所述分析数据包含: 对数据中所包括的多个符号中的每一个的频率进行计数; 给多个符号中的每一个分配码字; 基于多个符号中的每一个的频率以及分配给多个符号中的每一个的码字的位数来计 算如果被压缩的话数据的估计大小;和 把估计的大小与参考值进行比较,其中 基于所述比较产生所述分析的结果。
5. 如权利要求1所述的方法,其中,所述分析数据包含: 分析数据的头中所包括的指示位,所述指示位指示是否压缩数据; 基于对指示位的分析,对数据中所包括的多个符号中的每一个的频率进行计数;和 把参考值与被计数频率的最大者和最小者其中之一进行比较,其中 基于所述比较产生所述分析的结果。
6. 如权利要求1所述的方法,其中,所述选择性地压缩被缓冲的数据包含: 把分析的结果存储在存储器中;和 基于存储在存储器中的分析的结果,使用处理器选择性地压缩被缓冲的数据。
7. 如权利要求1所述的方法,其中,在把被缓冲的数据从输入缓冲器输出之前完成所述 分析数据。
8. —种数据压缩设备,包含: 数据模式分析器,被配置成基于传送到输入缓冲器的数据的模式和数据的头中所包括 的指示位的值其中之一分析该数据,数据模式分析器还被配置成基于数据的分析产生分析 码;和 数据压缩管理器,被配置成基于分析码选择性地压缩输入缓冲器中的数据。
9. 如权利要求8所述的数据压缩设备,其中,所述数据模式分析器被配置成分析数据的 头中所包括的指示位,并基于指示位的分析产生分析码,所述指示位指示是否压缩数据。
10. 如权利要求8所述的数据压缩设备,其中,所述数据模式分析器被配置成对数据中 所包括的多个符号中的每一个的频率进行计数,并基于参考值与被计数频率的最大者和最 小者其中之一之间比较的结果产生分析码。
11. 如权利要求8所述的数据压缩设备,其中,所述数据模式分析器被配置成对数据中 所包括的多个符号中的每一个的频率进行计数,给多个符号中的每一个分配码字,并基于 参考数据的大小与如果被压缩的话数据的估计大小之间的比较结果产生分析码,基于多个 符号中的每一个的被计数频率以及分配给多个符号中的每一个的码字的位数来计算所述 估计的大小。
12. 如权利要求8所述的数据压缩设备,其中,所述数据模式分析器包含: 头分析器,被配置成基于包括在数据的头中的指示位输出控制信号,所述指示位指示 是否压缩数据;和 估计器,被配置成响应于激活控制信号被使能,所述估计器还被配置成对数据中所包 括的多个符号中的每一个的频率进行计数,给多个符号中的每一个分配码字,并基于参考 数据的大小与如果被压缩的话数据的估计大小之间的比较结果产生分析码,基于多个符号 中的每一个的频率以及分配给多个符号中的每一个的码字的位数来计算所述估计大小。
13. 如权利要求8所述的数据压缩设备,其中,所述数据模式分析器包含: 模式分析器,被配置成对数据中所包括的多个符号中的每一个的频率进行计数,并给 多个符号中的每一个分配码字;和 估计器,被配置成从所述模式分析器接收多个符号中的每一个的频率和分配给多个符 号中的每一个的码字,所述估计器还被配置成基于参考数据的大小与如果被压缩的话数据 的估计大小之间的比较结果产生分析码,基于多个符号中的每一个的频率以及分配给多个 符号中的每一个的码字的位数来计算所述估计大小。
14. 如权利要求8所述的数据压缩设备,其中,所述数据压缩管理器包含: 存储器,被配置成存储分析码; 处理器,被配置成压缩输入缓冲器中的数据并输出被压缩的数据;和 选择器,被配置成基于存储在存储器中的分析码把所述输入缓冲器中的数据输出到非 易失性存储器设备和处理器其中之一。
15. 如权利要求14所述的数据压缩设备,其中,所述处理器顺次地压缩所述输入缓冲器 中的数据的各符号,并输出在没有压缩数据内的重复符号的情况下指示符号之间的关系的 信息。
16. —种数据处理装置,包含: 非易失性存储器设备;和 数据压缩设备,被配置成选择性地压缩被缓冲的数据,所述数据压缩设备包括: 输入缓冲器,被配置成缓冲数据; 数据模式分析器,被配置成基于数据的模式和数据的头中所包括的指示位的值其中之 一分析数据并基于数据的分析产生分析码,所述数据的分析和分析码的产生其中至少之一 在数据被传送到输入缓冲器时被执行;和 数据压缩管理器,被配置成基于分析码选择性地压缩被缓冲的数据。
17. 如权利要求16所述的数据处理装置,其中,所述数据模式分析器被配置成分析数据 的头中所包括的指示位,并基于指示位产生分析码,所述指示位指示是否压缩数据。
18. 如权利要求16所述的数据处理装置,其中,所述数据模式分析器被配置成对数据中 所包括的多个符号中的每一个的频率进行计数,并基于参考值与被计数频率的最大者和最 小者其中之一之间比较的结果产生分析码。
19. 如权利要求16所述的数据处理装置,其中,所述数据模式分析器被配置成对数据中 所包括的多个符号中的每一个的频率进行计数,给多个符号中的每一个分配码字,并基于 参考数据的大小与如果被压缩的话数据的估计大小之间的比较结果产生分析码,基于多个 符号中的每一个的频率以及分配给多个符号中的每一个的码字的位数来计算所述估计大 小。
20. 如权利要求16所述的数据处理装置,其中,所述数据压缩管理器包含: 存储器,被配置成存储分析码; 处理器,被配置成压缩被缓冲的数据并输出被压缩的数据;和 选择器,被配置成基于存储在所述存储器中的分析码把被缓冲的数据输出到非易失性 存储器设备和处理器其中之一。
21. 如权利要求16所述的数据处理装置,其中,所述数据处理装置是固态驱动器(SSD)。
22. 如权利要求16所述的数据处理装置,其中,所述数据处理装置是智能卡和存储器卡 其中之一。
23. 如权利要求16所述的数据处理装置,其中,所述数据处理装置是智能电话和平板个 人计算机(PC)其中之一。
24. 如权利要求16所述的数据处理装置,其中,所述数据压缩设备集成在被配置成控制 非易失性存储器设备的存储器控制器中。
25. —种压缩数据的方法,所述方法包含: 拦截传送到输入缓冲器的数据; 基于数据的模式和数据的头中所包括的指示位的值其中之一分析被拦截的数据并产 生分析的结果;和 基于分析的结果输出来自输入缓冲器的数据和被压缩的数据其中之一,通过压缩输入 缓冲器中的数据产生被压缩的数据。
26. 如权利要求25所述的方法,其中,在数据被从输入缓冲器输出之前完成所述分析被 拦截的数据。
27. 如权利要求25所述的方法,其中,当数据包括一个或更多个位时,在所述输入缓冲 器中缓冲的数据是该数据的整数倍。
28. 如权利要求25所述的方法,其中,所述分析数据包含: 分析数据的头中所包括的指示位,所述指示位指示是否压缩数据,其中 基于对指示位的分析而产生所述分析的结果。
29. 如权利要求25所述的方法,其中,所述分析数据包含: 对数据中所包括的多个符号中的每一个的频率进行计数; 给多个符号中的每一个分配码字; 基于多个符号中的每一个的频率以及分配给多个符号中的每一个的码字的位数来计 算如果被压缩的话数据的估计大小;和 把估计大小与参考数据的大小进行比较,其中 基于所述比较的结果产生所述分析的结果。
30. —种用于压缩数据的方法,包含: 在数据压缩设备中,基于数据的模式和数据的头中所包括的指示位的值其中之一选择 性地压缩数据,指示位和模式中的每一个均指示数据是否是被压缩的数据。
31. 如权利要求30所述的方法,还包含: 确定数据是否包括头信息,并且其中, 如果数据包括头信息,则基于指示位选择性地压缩数据。
32. 如权利要求31所述的方法,其中,如果数据不包括头信息,则基于数据的模式选择 性地压缩数据。
33. 如权利要求32所述的方法,还包含: 对数据中所包括的每一个符号的频率进行计数;和 把参考值与被计数频率中的最大者和最小者其中之一进行比较,并且其中 基于所述比较选择性地压缩数据。
34. 如权利要求32所述的方法,还包含: 对数据中所包括的每一个符号的频率进行计数; 给数据中所包括的符号中的每一个分配码字; 基于被计数的频率以及每一个被分配的码字的位数来估计如果被压缩的话数据的大 小; 把估计的大小与参考值进行比较;并且 其中 基于估计的大小和参考值之间的比较选择性地压缩数据。
35. —种数据压缩设备,包含: 数据压缩管理器,被配置成基于数据的模式和数据的头中所包括的指示位的值其中之 一选择性地压缩数据,指示位和模式中的每一个均指示数据是否是被压缩的数据。
36. 如权利要求35所述的设备,还包含: 数据模式分析器,被配置成确定数据是否包括头信息,并且其中 如果数据包括头信息,则所述数据压缩管理器基于指示位选择性地压缩数据。
37. 如权利要求36所述的设备,其中,如果数据不包括头信息,则所述数据压缩管理器 基于数据的模式选择性地压缩数据。
38. 如权利要求37所述的设备,其中,所述数据模式分析器还被配置成对数据中所包括 的每一个符号的频率进行计数,并把参考值与每一符号的被计数频率中的最大者和最小者 其中之一进行比较,其中数据压缩管理器基于所述比较选择性地压缩数据。
39. 如权利要求37所述的设备,其中,所述数据模式分析器还被配置成对数据中所包括 的每一个符号的频率进行计数,给数据中所包括的符号中的每一个分配码字,基于频率以 及每一个被分配的码字的位数来估计如果被压缩的话数据的大小,并把估计的大小与参考 值进行比较,其中,数据压缩管理器基于估计的大小和参考值之间的比较选择性地压缩数 据。
CN201110453646.1A 2011-01-19 2011-12-30 数据压缩设备、其操作方法以及包括该设备的数据处理装置 Active CN102694554B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20110005575A KR20120084180A (ko) 2011-01-19 2011-01-19 데이터 압축 장치, 이의 동작 방법, 및 이를 포함하는 데이터 처리 장치
KR10-2011-0005575 2011-01-19

Publications (2)

Publication Number Publication Date
CN102694554A CN102694554A (zh) 2012-09-26
CN102694554B true CN102694554B (zh) 2017-05-31

Family

ID=46490360

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110453646.1A Active CN102694554B (zh) 2011-01-19 2011-12-30 数据压缩设备、其操作方法以及包括该设备的数据处理装置

Country Status (5)

Country Link
US (2) US8659452B2 (zh)
JP (1) JP5881416B2 (zh)
KR (1) KR20120084180A (zh)
CN (1) CN102694554B (zh)
DE (1) DE102011056563A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792308B2 (en) * 1998-12-11 2017-10-17 Realtime Data, Llc Content estimation data compression
JP2014052899A (ja) 2012-09-07 2014-03-20 Toshiba Corp メモリシステムとその制御方法
US9325762B2 (en) 2012-12-11 2016-04-26 Qualcomm Incorporated Method and apparatus for efficient signaling for compression
US9264707B2 (en) * 2013-02-04 2016-02-16 Google Inc. Multi-symbol run-length coding
CN104125458B (zh) * 2013-04-27 2017-08-08 展讯通信(上海)有限公司 内存数据无损压缩方法及装置
KR102078853B1 (ko) 2013-11-27 2020-02-18 삼성전자 주식회사 메모리 시스템, 호스트 시스템 및 메모리 시스템에서의 라이트 동작 수행 방법
US20150227540A1 (en) * 2014-02-12 2015-08-13 Hitachi, Ltd. System and method for content-aware data compression
KR20160031169A (ko) * 2014-09-12 2016-03-22 에스케이하이닉스 주식회사 데이터 패턴 탐지 장치, 이를 포함하는 반도체 장치 및 그 동작 방법
TWI534814B (zh) * 2014-10-20 2016-05-21 群聯電子股份有限公司 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置
CN104917591B (zh) * 2015-06-11 2018-03-23 中国电子科技集团公司第五十四研究所 一种适用于单向有损链路的卫星网络数据包压缩方法
CN104967498B (zh) * 2015-06-11 2018-01-30 中国电子科技集团公司第五十四研究所 一种基于历史的卫星网络数据包压缩传输方法
US10135461B2 (en) * 2015-09-25 2018-11-20 Intel Corporation Systems, methods, and apparatuses for decompression using hardware and software
KR20170048942A (ko) 2015-10-27 2017-05-10 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
SE542507C2 (en) * 2016-03-31 2020-05-26 Zeropoint Tech Ab Variable-sized symbol entropy-based data compression
US10097202B1 (en) * 2017-06-20 2018-10-09 Samsung Electronics Co., Ltd. SSD compression aware
CN110290099A (zh) * 2018-03-19 2019-09-27 海能达通信股份有限公司 数据传输方法、通信设备及具有存储功能的装置
CN109445693A (zh) * 2018-10-19 2019-03-08 郑州云海信息技术有限公司 一种数据压缩方法和装置
US10666289B1 (en) * 2019-01-16 2020-05-26 International Business Machines Corporation Data compression using dictionary encoding
US10944423B2 (en) * 2019-03-14 2021-03-09 International Business Machines Corporation Verifying the correctness of a deflate compression accelerator
US20190305797A1 (en) * 2019-06-19 2019-10-03 Intel Corporation System, Apparatus And Method For Dynamic Priority-Aware Compression For Interconnect Fabrics

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
US6195024B1 (en) * 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6597812B1 (en) * 1999-05-28 2003-07-22 Realtime Data, Llc System and method for lossless data compression and decompression

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5635932A (en) * 1994-10-17 1997-06-03 Fujitsu Limited Lempel-ziv compression with expulsion of dictionary buffer matches
US5896099A (en) * 1995-06-30 1999-04-20 Sanyo Electric Co., Ltd. Audio decoder with buffer fullness control
JPH09138677A (ja) * 1995-11-10 1997-05-27 Brother Ind Ltd キャラクタのデータ記憶装置及びキャラクタ出力装置
JP3161697B2 (ja) * 1997-04-18 2001-04-25 富士ゼロックス株式会社 符号化装置、復号装置および符号化復号装置ならびにそれらの方法
JP3639436B2 (ja) * 1998-07-14 2005-04-20 シャープ株式会社 画像処理装置
US6624761B2 (en) * 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
JP2001111432A (ja) * 1999-10-04 2001-04-20 Seiko Epson Corp データ圧縮制御装置、データ圧縮制御方法、印刷情報形成装置、印刷システム及びプログラムを記録した記録媒体
JP2001275112A (ja) * 2000-01-19 2001-10-05 Oki Electric Ind Co Ltd データ圧縮装置
JP2001326930A (ja) * 2000-05-15 2001-11-22 Matsushita Electric Ind Co Ltd 画像符号化装置および方法ならびに記憶媒体
US20030030575A1 (en) * 2001-05-07 2003-02-13 Harmonic Data Systems Ltd. Lossless data compression
US7062100B2 (en) 2002-12-16 2006-06-13 Xerox Corporation System for selecting a compression method for image data
JP2004208018A (ja) 2002-12-25 2004-07-22 Ricoh Co Ltd 印刷処理装置
US7627702B2 (en) 2003-09-30 2009-12-01 Sony Corporation Data reproduction device and method, and program
JP2008124969A (ja) * 2006-11-15 2008-05-29 Ikegami Tsushinki Co Ltd 画像可逆符号化方法及び画像可逆符号化装置
US8281227B2 (en) * 2009-05-18 2012-10-02 Fusion-10, Inc. Apparatus, system, and method to increase data integrity in a redundant storage system
US20110004728A1 (en) * 2009-07-02 2011-01-06 Ocz Technology Group, Inc. On-device data compression for non-volatile memory-based mass storage devices
KR20110005575A (ko) 2009-07-10 2011-01-18 한국전자통신연구원 코히어런트 광 수신기의 디지털 등화 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5467087A (en) * 1992-12-18 1995-11-14 Apple Computer, Inc. High speed lossless data compression system
US6195024B1 (en) * 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6597812B1 (en) * 1999-05-28 2003-07-22 Realtime Data, Llc System and method for lossless data compression and decompression

Also Published As

Publication number Publication date
US8659452B2 (en) 2014-02-25
JP5881416B2 (ja) 2016-03-09
US20140152475A1 (en) 2014-06-05
US9191027B2 (en) 2015-11-17
KR20120084180A (ko) 2012-07-27
DE102011056563A1 (de) 2012-07-19
JP2012151840A (ja) 2012-08-09
DE102011056563A8 (de) 2012-09-27
US20120182163A1 (en) 2012-07-19
CN102694554A (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
CN102694554B (zh) 数据压缩设备、其操作方法以及包括该设备的数据处理装置
US9886017B2 (en) Counter operation in a state machine lattice
KR101999590B1 (ko) 패턴 인식 프로세싱 시스템에서의 전력 관리를 위한 방법들 및 시스템들
CN101241508B (zh) 结构化数据序列的压缩方法
CN104331269B (zh) 一种嵌入式系统可执行代码压缩方法及代码解压缩系统
CN104348490A (zh) 一种基于效果优选的组合数据压缩算法
US20160078045A1 (en) Selective compression of objects in a storage compute device
US10423596B2 (en) Efficient caching of Huffman dictionaries
CN108416427A (zh) 卷积核堆积数据流、压缩编码以及深度学习算法
CN202931289U (zh) 一种硬件lz77压缩实现系统
CN106502580A (zh) 一种深存储器以及测量仪器
CN104753626A (zh) 一种数据压缩方法、设备及系统
CN100426681C (zh) Turbo编码方法及编码装置
CN109067405A (zh) 一种数据压缩的方法、装置、终端及计算机可读存储介质
CN105630999A (zh) 服务器压缩数据的方法和装置
CN108897522A (zh) 数据处理方法、数据处理装置以及电子设备
CN109428602A (zh) 一种数据编码方法、装置以及存储介质
JP6344486B2 (ja) サーバおよびデバイスによりデータを圧縮するための方法
CN103078647A (zh) 一种lz77压缩算法的硬件解码实现系统及方法
CN106407226B (zh) 一种数据处理方法、备份服务器及存储系统
CN103399727A (zh) 硬件整数饱和侦测器、侦测饱和的方法及其硬件装置
US10284226B1 (en) Performing parallel deflate compression
CN102298782A (zh) 用于无损视频压缩的参数估计的系统、方法和计算机程序产品
CN109672524A (zh) 基于粗粒度可重构架构的sm3算法轮迭代系统及迭代方法
CN206042056U (zh) 一种分布式存储数据服务器

Legal Events

Date Code Title Description
PB01 Publication
C06 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
GR01 Patent grant
GR01 Patent grant