CN110209598B - 一种高速缓冲存储器、一种数据读写控制方法及系统 - Google Patents

一种高速缓冲存储器、一种数据读写控制方法及系统 Download PDF

Info

Publication number
CN110209598B
CN110209598B CN201910449724.7A CN201910449724A CN110209598B CN 110209598 B CN110209598 B CN 110209598B CN 201910449724 A CN201910449724 A CN 201910449724A CN 110209598 B CN110209598 B CN 110209598B
Authority
CN
China
Prior art keywords
data
source
approximate
module
source data
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
CN201910449724.7A
Other languages
English (en)
Other versions
CN110209598A (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.)
Capital Normal University
Original Assignee
Capital Normal University
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
Application filed by Capital Normal University filed Critical Capital Normal University
Priority to CN201910449724.7A priority Critical patent/CN110209598B/zh
Publication of CN110209598A publication Critical patent/CN110209598A/zh
Application granted granted Critical
Publication of CN110209598B publication Critical patent/CN110209598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开一种高速缓冲存储器、一种数据读写控制方法及系统。高速缓存包括:标签存储器和数据存储器,标签存储器存储有地址标记位和数据格式标记位。本发明将传统高速缓冲存储器中标签存储器的标记位进行了扩展,获得了数据格式标记位,使用附加的数据格式标记位作为指向相应数据存储中更多数据元素的指针,能够获得因为压缩/近似而存储的额外的缓存行,在不增加高速缓存开销的前提下能够有效提高存储密度。在此基础上,本发明提供的数据读取控制方法及系统、数据写入控制方法及系统,根据源数据的冗余类型对所述源数据进行压缩或近似处理,有效减少冗余信息,然后再进行数据的读取操作和写入操作,能够减缓高速缓存的开销,提升访问效率。

Description

一种高速缓冲存储器、一种数据读写控制方法及系统
技术领域
本发明涉及缓存结构及访问方法领域,特别是涉及一种高速缓冲存储器、一种数据读写控制方法及系统。
背景技术
由于应用程序数据局部性,高速缓存中的数据存在大量的冗余信息,比如大量的数组通常初始化为全0,多媒体等应用中某个区域的像素值数据值完全相同,或当连续地址访问时地址之间的数值差别很小而基址较大,或者是针对计数器等情况分配的存储空间远大于实际数值占用空间。如何消除高速缓存中的冗余信息,有效利用高速缓存的存储空间,提高存储密度,已成为本领域技术人员亟需解决的技术问题。
发明内容
本发明的目的是提供一种高速缓冲存储器、一种数据读写控制方法及系统,在不增加高速缓存开销的前提下能够有效提高存储密度,提升访问效率。
为实现上述目的,本发明提供了如下方案:
一种高速缓冲存储器,所述高速缓冲存储器包括:标签存储器和数据存储器,其中,所述标签存储器用于存储地址标记位和数据格式标记位,所述数据格式标记位为5位,其中,第1位为压缩状态标记位,第2位为近似状态标记位。
一种数据读取控制方法,所述数据读取控制方法包括:
获取内存中的源数据;
判断所述源数据是否为冗余数据,获得第一判断结果;
当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;
采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
将所述校验数据存储到二级缓存中;
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;
控制一级缓存读取所述解压缩数据。
可选的,所述对所述源数据进行压缩处理,获得压缩数据,具体包括:
判断所述源数据的冗余类型,所述冗余类型为重复型或浮动型;
当所述源数据的冗余类型为重复型时,
提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数;
根据所述重复单元和所述重复次数生成所述源数据的压缩数据;
当所述源数据的冗余类型为浮动型时,
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据所述数据块的大小将所述源数据划分为多个数据块;
将第一个所述数据块作为基值;
计算所述基值与每一所述数据块的差值;
根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据。
一种数据读取控制系统,所述数据读取控制系统包括:
第一数据获取模块,用于获取内存中的源数据;
第一判断模块,用于判断所述源数据是否为冗余数据,获得第一判断结果;
第一压缩模块,用于当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;
第一校验模块,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
第一存储模块,用于将所述校验数据存储到二级缓存中;
第一解码模块,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
第一解压模块,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;
第一控制模块,用于控制一级缓存读取所述解压缩数据。
一种数据读取控制方法,所述数据读取控制方法包括:
获取内存中的源数据;
判断所述源数据是否为浮动型冗余数据,获得第二判断结果;
当所述第二判断结果表示是,则对所述源数据进行近似处理,获得近似数据,具体包括:
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据数据块的大小将所述源数据划分为多个数据块;
将第一个所述数据块作为基值;
采用所述基值近似表示各数据块,获得源数据的近似数据;
将所述近似数据存储到二级缓存中;
控制一级缓存读取所述近似数据。
可选的,在所述“对所述源数据进行近似处理,获得近似数据”和所述“将所述近似数据存储到二级缓存中”之间还包括:
采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;
在所述“将所述近似数据存储到二级缓存中”和所述“控制一级缓存读取所述近似数据”之间还包括:
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。
一种数据读取控制系统,所述数据读取控制系统包括:
第二数据获取模块,用于获取内存中的源数据;
第二判断模块,用于判断所述源数据是否为浮动型冗余数据,获得第二判断结果;
近似模块,用于当所述第二判断结果表示是,对所述源数据进行近似处理,获得近似数据;所述近似模块具体包括:
位宽获取单元,用于获取存储介质的位宽;
数据块确定单元,用于根据所述存储介质的位宽确定数据块的大小;
数据块划分单元,用于根据数据块的大小将所述源数据划分为多个数据块;
基值确定单元,用于将第一个所述数据块作为基值;
近似单元,用于采用所述基值近似表示各数据块,获得源数据的近似数据;
第二存储模块,用于将所述近似数据存储到二级缓存中;
第二控制模块,用于控制一级缓存读取所述近似数据。
一种数据写入控制方法,所述数据写入控制方法包括:
获取一级缓存中的待写数据;
判断所述待写数据是否为冗余数据,获得第三判断结果;
当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据;
采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
将所述校验数据写入二级缓存中;
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应;
将所述解压缩数据写入内存。
一种数据写入控制系统,所述数据写入控制系统包括:
第一待写数据获取模块,用于获取一级缓存中的待写数据;
第三判断模块,用于判断所述待写数据是否为冗余数据,获得第三判断结果;
第二压缩模块,用于当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据;
第二校验模块,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
第一写入模块,用于将所述校验数据写入二级缓存中;
第二解码模块,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
第二解压模块,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应;
第二写入模块,用于将所述解压缩数据写入内存。
一种数据写入控制方法,所述数据写入控制方法包括:
获取一级缓存中的待写数据;
判断所述待写数据是否为浮动型冗余数据,获得第四判断结果;
当所述第四判断结果表示是,则对所述待写数据进行近似处理,获得近似数据,具体包括:
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据数据块的大小将所述待写数据划分为多个数据块;
将第一个所述数据块作为基值;
采用所述基值近似表示各数据块,获得待写数据的近似数据;
将所述近似数据存入二级缓存中;
将所述近似数据写入内存。
可选的,所述“对所述待写数据进行近似处理,获得近似数据”和所述“将所述近似数据存入二级缓存中”之间,还包括:
采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;
所述“将所述近似数据存入二级缓存中”和所述“将所述近似数据写入内存”之间,还包括:
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。
一种数据写入控制系统,所述数据写入控制系统包括:
第二待写数据获取模块,用于获取一级缓存中的待写数据;
第四判断模块,用于判断所述待写数据是否为浮动型冗余数据,获得第四判断结果;
写入近似模块,用于当所述第四判断结果表示是,则对所述待写数据进行近似处理,获得近似数据,写入近似模块具体包括:
写入位宽获取单元,用于获取存储介质的位宽;
写入数据块确定单元,用于根据所述存储介质的位宽确定数据块的大小;
写入数据块划分单元,用于根据数据块的大小将所述待写数据划分为多个数据块;
写入基值确定单元,用于将第一个所述数据块作为基值;
写入近似单元,用于采用所述基值近似表示各数据块,获得待写数据的近似数据;
第二存储模块,用于将所述近似数据存入二级缓存中;
第三写入模块,用于将所述近似数据写入内存。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供的一种高速缓冲存储器包括:标签存储器和数据存储器,标签存储器存储有地址标记位和数据格式标记位。本发明将传统高速缓冲存储器中标签存储器的标记位进行了扩展,获得了数据格式标记位,使用附加的数据格式标记位作为指向相应数据存储中更多数据元素的指针,能够获得因为压缩/近似而存储的额外的缓存行,在不增加高速缓存开销的前提下能够有效提高存储密度。
在此基础上,本发明提供的数据读取控制方法及系统、数据写入控制方法及系统,根据源数据的冗余类型对所述源数据进行压缩或近似处理,有效减少冗余信息,然后再进行数据的读取操作和写入操作,能够减缓高速缓存的开销,提升访问效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1提供的高速缓存结构图;
图2为本发明实施例2提供的一种数据读取控制方法的流程图;
图3为本发明实施例3提供的一种数据读取控制系统的结构框图;
图4为本发明实施例4提供的一种数据读取控制方法的流程图;
图5为本发明实施例5提供的一种数据读取控制系统的结构框图;
图6为本发明实施例6提供的一种数据写入控制方法的流程图;
图7为本发明实施例7提供的一种数据写入控制系统的结构框图;
图8为本发明实施例8提供的一种数据写入控制方法的流程图;
图9为本发明实施例9提供的一种数据写入控制系统的结构框图;
图10为本发明提供的采用压缩校验的方法进行冗余数据消除的Cache访问流程图;
图11为本发明实施例提供的不同类型源数据对应的压缩数据;
图12为本发明提供的采用近似不校验的方法进行冗余数据消除的Cache访问流程图;
图13为本发明提供的采用近似校验的方法进行冗余数据消除的Cache访问流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种高速缓冲存储器、一种数据读写控制方法及系统,在不增加高速缓存开销的前提下能够有效提高存储密度,提升访问效率。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例1:
一种高速缓冲存储器,所述高速缓冲存储器包括:标签存储器和数据存储器,其中,所述标签存储器用于存储地址标记位和数据格式标记位。本实施例中,所述数据格式标记位为5位,其中,第1位为压缩状态标记位,第2位为近似状态标记位。
冗余数据消除和冗余数据近似都能实现相同容量下存储更多信息的目的。为了有效利用压缩和近似节省的高速缓存空间,本发明提出支持多个标记的cache结构,通过额外的标记位获得更多缓存行。对于冗余数据消除、冗余数据近似、未经任何处理这三种情况同时存在的应用对象,本发明使用统一的标记位结构,只不过编码有所不同。由于压缩方法的基值选择为2个,因此cache的标记位增加一倍。每一标记位均包含额外1位记录是否压缩(当该位为1时表示压缩)以及额外4位记录压缩大小,数据数组分成八字节段,根据压缩方式不同,缓存行压缩为1-8个段,每一标记位存储在起始段。
近似计算同样可以在相同数据容量下存储更多的高速缓存行信息,cache结构也与压缩方法提出的结构很相似,只不过标记位有所变化。冗余数据近似的标记位设计决定复用冗余消除的标记位。当额外增加的那5位标记位中,第1位表压缩状态的标记位为0时,紧接着第2位标记位若为1,则表示处于近似状态,剩余的3位用于表示近似大小。
若这两位编码为00,则表示既不近似也不压缩,属于对数据未经任何处理的情况。宏观上冗余数据消除、冗余数据近似、未经任何处理这三种情况下的标记存储与数据存储均存在,不过对于每一次的存取访问,有且只能是这三种情况中的一种。
图1为本发明实施例1提供的高速缓存结构图。其中,图1的(a)部分为冗余数据消除高速缓存标记位存储与数据位存储,以4路组相连为例,每一标记位存储起始段,比如tag1存储S1段。图1的(b)部分为冗余数据近似高速缓存标记位存储与数据位存储,近似计算同样可以在相同数据容量下存储更多的高速缓存行信息,cache结构也与上面提出的很相似,只不过标记位有所变化。
虽然相比于传统高速缓存增加了5位的标记位,产生了一点额外的开销,但在后面的实验评估中可以发现,这些开销相比于本发明方案节省的开销,要小得多。
实施例2:
图2为本发明实施例2提供的一种数据读取控制方法的流程图。如图2所示,一种数据读取控制方法,所述数据读取控制方法包括:
步骤201:获取内存中的源数据。
步骤202:判断所述源数据是否为冗余数据,获得第一判断结果。
步骤203:当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据。
步骤204:采用BCH编码方法对所述压缩数据进行校验,获得校验数据。
步骤205:将所述校验数据存储到二级缓存中。
步骤206:采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据。
步骤207:采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应。
步骤208:控制一级缓存读取所述解压缩数据。
具体地,步骤203中,对所述源数据进行压缩处理,获得压缩数据,具体包括:
判断所述源数据的冗余类型,所述冗余类型为重复型或浮动型;
当所述源数据的冗余类型为重复型时,
提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数;
根据所述重复单元和所述重复次数生成所述源数据的压缩数据;
当所述源数据的冗余类型为浮动型时,
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据所述数据块的大小将所述源数据划分为多个数据块;
将第一个所述数据块作为基值;
计算所述基值与每一所述数据块的差值;优选地,存储每一差值需要的字节数均小于存储所述差值对应的数据块需要的字节数;即确保浮动型数据为小范围浮动型数据;
根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据;重复型源数据的压缩数据为{B;M},其中,B表示重复单元,M表示重复次数。所述浮动型数据的压缩数据为{k;B*;Δ=(Δ1,Δ2,...,Δn)},其中,k表示数据块的大小,B*表示基值,Δi表示第i个数据块对应的差值,1≤i≤n,n表示数据块的数量,n=C/k,C表示存储所述源数据需要的字节数。
实施例3:
图3为本发明实施例3提供的一种数据读取控制系统的结构框图。如图3所示,一种数据读取控制系统,所述数据读取控制系统包括:
第一数据获取模块301,用于获取内存中的源数据。
第一判断模块302,用于判断所述源数据是否为冗余数据,获得第一判断结果。
第一压缩模块303,用于当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据。
第一校验模块304,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据。
第一存储模块305,用于将所述校验数据存储到二级缓存中。
第一解码模块306,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据。
第一解压模块307,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应。
第一控制模块308,用于控制一级缓存读取所述解压缩数据。
实施例4:
图4为本发明实施例4提供的一种数据读取控制方法的流程图。如图4所示,一种数据读取控制方法,包括:
步骤401:获取内存中的源数据。
步骤402:判断所述源数据是否为浮动型冗余数据,获得第二判断结果。
步骤403:当所述第二判断结果表示是,则对所述源数据进行近似处理,获得近似数据,具体包括:
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据数据块的大小将所述源数据划分为多个数据块;
将第一个所述数据块作为基值;
采用所述基值近似表示各数据块,获得源数据的近似数据。
步骤404:将所述近似数据存储到二级缓存中。
步骤405:控制一级缓存读取所述近似数据。
作为一种优选方案,在所述步骤403和所述步骤404之间还包括:
采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;
在所述步骤404和所述步骤405之间还包括:
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。
实施例5:
图5为本发明实施例5提供的一种数据读取控制系统的结构框图。如图5所示,所述数据读取控制系统包括:
第二数据获取模块501,用于获取内存中的源数据;
第二判断模块502,用于判断所述源数据是否为浮动型冗余数据,获得第二判断结果;
近似模块503,用于当所述第二判断结果表示是,对所述源数据进行近似处理,获得近似数据;所述近似模块503具体包括:
位宽获取单元,用于获取存储介质的位宽;
数据块确定单元,用于根据所述存储介质的位宽确定数据块的大小;
数据块划分单元,用于根据数据块的大小将所述源数据划分为多个数据块;
基值确定单元,用于将第一个所述数据块作为基值;
近似单元,用于采用所述基值近似表示各数据块,获得源数据的近似数据;
第二存储模块504,用于将所述近似数据存储到二级缓存中;
第二控制模块505,用于控制一级缓存读取所述近似数据。
实施例6:
图6为本发明实施例6提供的一种数据写入控制方法的流程图。如图6所示,所述数据写入控制方法包括:
步骤601:获取一级缓存中的待写数据。
步骤602:判断所述待写数据是否为冗余数据,获得第三判断结果。
步骤603:当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据。
步骤604:采用BCH编码方法对所述压缩数据进行校验,获得校验数据。
步骤605:将所述校验数据写入二级缓存中。
步骤606:采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据。
步骤607:采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应。
步骤608:将所述解压缩数据写入内存。
实施例7:
图7为本发明实施例7提供的一种数据写入控制系统的结构框图。如图7所示,所述数据写入控制系统包括:
第一待写数据获取模块701,用于获取一级缓存中的待写数据;
第三判断模块702,用于判断所述待写数据是否为冗余数据,获得第三判断结果;
第二压缩模块703,用于当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据;
第二校验模块704,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
第一写入模块705,用于将所述校验数据写入二级缓存中。
第二解码模块706,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
第二解压模块707,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应;
第二写入模块708,用于将所述解压缩数据写入内存。
实施例8:
图8为本发明实施例8提供的一种数据写入控制方法的流程图。如图8所示,一种数据写入控制方法,所述数据写入控制方法包括:
步骤801:获取一级缓存中的待写数据。
步骤802:判断所述待写数据是否为浮动型冗余数据,获得第四判断结果。
步骤803:当所述第四判断结果表示是,则对所述待写数据进行近似处理,获得近似数据,具体包括:
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据数据块的大小将所述待写数据划分为多个数据块;
将第一个所述数据块作为基值;
采用所述基值近似表示各数据块,获得待写数据的近似数据。
步骤804:将所述近似数据存入二级缓存中;
步骤805:将所述近似数据写入内存。
作为一种优选方案,所述步骤803“和所述步骤804之间,还包括:
采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;
所述步骤804和所述步骤805之间还包括:
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。
实施例9:
图9为本发明实施例9提供的一种数据写入控制系统的结构框图。如图9所示,一种数据写入控制系统,所述数据写入控制系统包括:
第二待写数据获取模块901,用于获取一级缓存中的待写数据。
第四判断模块902,用于判断所述待写数据是否为浮动型冗余数据,获得第四判断结果。
写入近似模块903,用于当所述第四判断结果表示是,则对所述待写数据进行近似处理,获得近似数据,写入近似模块具体包括:
写入位宽获取单元,用于获取存储介质的位宽;
写入数据块确定单元,用于根据所述存储介质的位宽确定数据块的大小;
写入数据块划分单元,用于根据数据块的大小将所述待写数据划分为多个数据块;
写入基值确定单元,用于将第一个所述数据块作为基值;
写入近似单元,用于采用所述基值近似表示各数据块,获得待写数据的近似数据。
第二存储模块904,用于将所述近似数据存入二级缓存中。
第三写入模块905,用于将所述近似数据写入内存。
本发明实施例2提供的数据读取控制方法和实施例6提供的数据写入控制方法,通过压缩校验的方法进行冗余数据消除,读写过程的Cache访问流程如图10所示:
①L2 Cache从内存中读取数据。首先分析数据的存储特征,确定读取数据中是否有属于全0值、重复值、小范围浮动值这三类冗余模式中的一种或几种,然后针对于可能存在的这三种冗余数据模式选择相对应的压缩方法进行压缩,而不属于这三种冗余数据模式的则不进行压缩,通过压缩消除一定冗余,减少源数据信息位位数,得到精简的压缩数据;其次,对压缩后的数据进行BCH码编码纠检错校验,它可以对任意纠错强度进行配置,也可纠正多位随机错误,保证压缩后数据的正确性;最后将校验数据传送到L2Cache中。
图11为本发明实施例提供的不同类型源数据对应的压缩数据。如图11所示,针对于全0值和重复值这两种冗余模式,只需存储一个重复单元和重复次数即可。对于高速缓存,重复值的不同字节数,基于数据的对齐存储特性可分为4字节和8字节重复值存储。针对于全0值和重复值这两种冗余模式,只需存储一个数值,其中全0值只需存储1个字节的0值作为基值,重复值的字节数可能不同,基于数据的对齐存储特性,当缓存行中只有一种重复值且该重复值能用4个字节表示时就用4字节重复值作为基值存储,当缓存行中有两种不同的重复值时就用8字节重复值作为基值存储。而对小范围浮动型冗余模式,通过基值与高速缓存行中的数据并行执行向量减操作,得到相应的差值,这样,较大程度地减少源数据的信息位长度。由于应用程序的数据存在多样性,因而支持多种数据长度,基值可支持2字节、4字节和8字节,而增量值分别为1字节、2字节和4字节,共6种情况。
BCH码是一类重要且常用的纠错线性分组码,是由Bose、Chaudhurl和Hocquenghem于1959年发现的一种循环码。以源数据的信息位长度为64B,BCH码可以纠正4位错误为例,检验位位数为48B。比如,高速缓存行数据的冗余模式是基值为8字节,增值为1字节的小范围浮动值,由于基值为8字节,因此,缓存行中数据以8字节为单位,与基值进行向量减操作,并对对应的差值进行存储,所得到的压缩数据为16B,是未压缩数据的25%,最后通过对压缩数据进行BCH码编码进行容错,校验位为12B,总位数为由112B降低为28B,最终达到了存储数据,由于减少了数据信息位的长度,因此能够减少时间开销和空间开销。如表1所示,重复值冗余模式根据重复值所占字节数的不同,分为2种;小范围浮动值根据所选基值和对应差值所占字节数的不同,分为6种。
表1压缩与近似方式
Figure BDA0002074760900000161
本发明将高速缓存行视为一组固定大小的值,例如,对于64字节高速缓存行,可以看成是8个8字节值,16个4字节值或32个2字节值。为了进行分析,假设缓存行大小为C字节,将缓存行中的数值视为一组固定大小的值的集合,集合中每个值的大小为k字节,要压缩的值集合为S=(V1;V2;…;Vn),其中n=C/k。压缩算法的输出为:{k;B*;Δ=(Δ1;Δ2;……;Δn)},其中Δi=B*-Vi,i=1,2,…n。Δi是这一组值的集合中的第i个值与基值的差值,为了使高速缓存行可压缩,表示差值所需的字节数必须严格小于表示数据块本身所需的字节数k。
②L1 Cache从L2 Cache读数据。首先采用与BCH编码方法对应的BCH解码方法进行纠检错译码阶段,对所读出的数据利用校验位进行纠错检错,保证数据的正确性;其次,从L2 Cache中读出的数据为消除了一定冗余的压缩数据,压缩数据可能会属于全0值、重复值、小范围浮动值这三类冗余模式压缩后的一种或几种,然后针对于这三种压缩后数据模式选择相对应的解压缩算法,而不属于这三种冗余数据模式的则为原数据不进行解压缩,最终重新恢复源数据;最后将源数据传送到L1 Cache中。
③L1 Cache往L2 Cache写数据,具体过程与①类似,即,首先判断数据特征,对不同数据特征采用不同压缩算法,消除冗余信息,减少源数据信息位位数;其次,对压缩后的数据进行校验算法的编码阶段,保证数据的正确性;最后将数据写到L2 Cache中。
④L2 Cache往内存写数据,具体过程与②类似,即,首先进行纠检错译码阶段,保证数据的正确性,其次对压缩的数据进行对应解压缩操作,恢复源数据;最后将源数据写到内存中。
本发明实施例4提供的数据读取控制方法和实施例8提供的数据写入控制方法,采用近似不校验的方法进行冗余数据消除,即,舍弃进行校验的BCH码,只将全0值、重复值、2个基值用于计算和存储,实现最大限度地降低开销,节省存储空间。读写过程的Cache访问流程如图12所示,与压缩校验的高速缓存访问控制流程相比,不同之处在于,L2 Cache从内存中读取数据和L1 Cache往L2 Cache写数据的过程中,只通过压缩消除冗余信息,不进行纠错码编码;L1 Cache从L2 Cache读数据的过程中,不做任何其他操作,命中即取;L2Cache往内存写数据的过程中,不做任何其他操作,直接写回。即,如图12所示:(2)(4)只消除冗余信息,不进行纠错码编码;(3)不做任何其他操作,命中即取,(5)不做任何其他操作,直接写回。由于缺少了BCH码的校验,只将全0值、重复值、2个基值用于计算和存储,由于没有了容错机制,可能会存在数位翻转等错误的产生,因此,精确度可能会再次下降。但是,源数据信息位进一步变短,没有压缩解压缩和校验,空间开销和时间开销也会再次减少。
本发明实施例4的优选实施方式提供的数据读取控制方法和实施例8的优选实施方式提供的数据写入控制方法,采用近似校验的方法进行冗余数据消除,读写过程的Cache访问流程如图13所示。与压缩校验的高速缓存访问控制流程相比,不同之处在于,L1 Cache从L2 Cache读数据的过程和L2Cache往内存写数据的过程中,只进行纠错码解码,保证正确的基值用于计算和存储,其余步骤不变。即,如图13所示,(3)(5)只进行纠错码解码,其余步骤不变。本发明提出冗余数据近似方案(近似校验),将近似与所需的纠错方案联系起来,减少少量质量损失的同时最大限度地降低纠错开销,节省总体存储空间。针对于全0值和重复值这两种冗余模式,仍然只需存储一个数值,其中重复值的字节数可能不同,基于数据的对齐存储特性可分为4字节和8字节重复值存储。而对小范围浮动值冗余模式,在冗余数据消除的基础之上,仅保留2个基值,地址基值和数据基值,利用精度扩缩舍去高速缓存行中的数据与基值进行向量减操作得到的增值。由于应用程序的数据存在多样性,因而支持多种数据长度,基值可支持2字节、4字节和8字节。而此时,针对现存数值(全0,重复值,基值)进行BCH编码,保证现存数值的正确性。由于舍掉了增值而引入了误差,使得精度相对于能够容错的压缩校验下降了一个等级,但同时,由于舍掉了增值而使源数据信息位的长度变短,由之前对BCH码的分析可知,空间开销和延迟开销也会相比于压缩校验进一步减少。同时缺失率降低,cache的访问次数也会减少。
实际应用中,用户可动态权衡精度要求和高速缓存开销的矛盾,选择合适的技术方案。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (11)

1.一种高速缓冲存储器,其特征在于,所述高速缓冲存储器包括:标签存储器和数据存储器,其中,所述标签存储器用于存储地址标记位和数据格式标记位,所述数据格式标记位为5位,其中,第1位为压缩状态标记位,第2位为近似状态标记位;
第1位为1时表示数据处于压缩状态,后4位记录压缩大小;
第1位为0且第2位为1时表示数据处于近似状态,后3位记录近似大小;
第1位和第2位均为0时表示数据为未处理状态。
2.一种数据读取控制方法,其特征在于,所述数据读取控制方法包括:
获取内存中的源数据;
判断所述源数据是否为冗余数据,获得第一判断结果;
当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;
所述对所述源数据进行压缩处理,获得压缩数据,具体包括:判断所述源数据的冗余类型,所述冗余类型为重复型或浮动型;当所述源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数;根据所述重复单元和所述重复次数生成所述源数据的压缩数据;当所述源数据的冗余类型为浮动型时,获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小;根据所述数据块的大小将所述源数据划分为多个数据块;将第一个所述数据块作为基值;计算所述基值与每一所述数据块的差值;根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据;
采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
将所述校验数据存储到二级缓存中;
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;
控制一级缓存读取所述解压缩数据。
3.一种数据读取控制系统,其特征在于,所述数据读取控制系统包括:
第一数据获取模块,用于获取内存中的源数据;
第一判断模块,用于判断所述源数据是否为冗余数据,获得第一判断结果;
第一压缩模块,用于当所述第一判断结果表示是,则对所述源数据进行压缩处理,获得压缩数据;
第一校验模块,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
第一存储模块,用于将所述校验数据存储到二级缓存中;
第一解码模块,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
第一解压模块,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对源数据进行压缩处理的压缩方法对应;
第一控制模块,用于控制一级缓存读取所述解压缩数据;
所述第一压缩模块还用于判断所述源数据的冗余类型,所述冗余类型为重复型或浮动型,当所述源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数,根据所述重复单元和所述重复次数生成所述源数据的压缩数据;当所述源数据的冗余类型为浮动型时,获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小,根据所述数据块的大小将所述源数据划分为多个数据块,将第一个所述数据块作为基值,计算所述基值与每一所述数据块的差值,根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据。
4.一种数据读取控制方法,其特征在于,所述数据读取控制方法包括:
获取内存中的源数据;
判断所述源数据是否为浮动型冗余数据,获得第二判断结果;
当所述第二判断结果表示是,则对所述源数据进行近似处理,获得近似数据,具体包括:
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据数据块的大小将所述源数据划分为多个数据块;
将第一个所述数据块作为基值;
采用所述基值近似表示各数据块,获得源数据的近似数据;
将所述近似数据存储到二级缓存中;
控制一级缓存读取所述近似数据;
若所述第二判断结果为否,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数,根据所述重复单元和所述重复次数生成所述源数据的压缩数据。
5.根据权利要求4所述的数据读取控制方法,其特征在于,在所述“对所述源数据进行近似处理,获得近似数据”和所述“将所述近似数据存储到二级缓存中”之间还包括:
采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;
在所述“将所述近似数据存储到二级缓存中”和所述“控制一级缓存读取所述近似数据”之间还包括:
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。
6.一种数据读取控制系统,其特征在于,所述数据读取控制系统包括:
第二数据获取模块,用于获取内存中的源数据;
第二判断模块,用于判断所述源数据是否为浮动型冗余数据,获得第二判断结果;
近似模块,用于当所述第二判断结果表示是,对所述源数据进行近似处理,获得近似数据;所述近似模块具体包括:
位宽获取单元,用于获取存储介质的位宽;
数据块确定单元,用于根据所述存储介质的位宽确定数据块的大小;
数据块划分单元,用于根据数据块的大小将所述源数据划分为多个数据块;
基值确定单元,用于将第一个所述数据块作为基值;
近似单元,用于采用所述基值近似表示各数据块,获得源数据的近似数据;
第二存储模块,用于将所述近似数据存储到二级缓存中;
第二控制模块,用于控制一级缓存读取所述近似数据;
所述数据读取控制系统用于当所述源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数,根据所述重复单元和所述重复次数生成所述源数据的压缩数据。
7.一种数据写入控制方法,其特征在于,所述数据写入控制方法包括:
获取一级缓存中的待写数据;
判断所述待写数据是否为冗余数据,获得第三判断结果;
当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据;
对所述待写数据进行压缩处理,获得压缩数据,具体包括:判断源数据的冗余类型,所述冗余类型为重复型或浮动型;当所述源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数;根据所述重复单元和所述重复次数生成所述源数据的压缩数据;当所述源数据的冗余类型为浮动型时,获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小;根据所述数据块的大小将所述源数据划分为多个数据块;将第一个所述数据块作为基值;计算所述基值与每一所述数据块的差值;根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据;
采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
将所述校验数据写入二级缓存中;
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应;
将所述解压缩数据写入内存。
8.一种数据写入控制系统,其特征在于,所述数据写入控制系统包括:
第一待写数据获取模块,用于获取一级缓存中的待写数据;
第三判断模块,用于判断所述待写数据是否为冗余数据,获得第三判断结果;
第二压缩模块,用于当所述第三判断结果表示是,则对所述待写数据进行压缩处理,获得压缩数据;
所述第二压缩模块还用于判断源数据的冗余类型,所述冗余类型为重复型或浮动型,当所述源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数,根据所述重复单元和所述重复次数生成所述源数据的压缩数据;当所述源数据的冗余类型为浮动型时,获取存储介质的位宽;根据所述存储介质的位宽确定数据块的大小,根据所述数据块的大小将所述源数据划分为多个数据块,将第一个所述数据块作为基值,计算所述基值与每一所述数据块的差值,根据所述数据块的大小、所述基值和所述差值生成所述源数据的压缩数据;
第二校验模块,用于采用BCH编码方法对所述压缩数据进行校验,获得校验数据;
第一写入模块,用于将所述校验数据写入二级缓存中;
第二解码模块,用于采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码数据;
第二解压模块,用于采用解压缩方法对所述解码数据进行解压缩,获得解压缩数据,其中,所述解压缩方法与对待写数据进行压缩处理的压缩方法对应;
第二写入模块,用于将所述解压缩数据写入内存。
9.一种数据写入控制方法,其特征在于,所述数据写入控制方法包括:
获取一级缓存中的待写数据;
判断所述待写数据是否为浮动型冗余数据,获得第四判断结果;
当所述第四判断结果表示是,则对所述待写数据进行近似处理,获得近似数据,具体包括:
获取存储介质的位宽;
根据所述存储介质的位宽确定数据块的大小;
根据数据块的大小将所述待写数据划分为多个数据块;
将第一个所述数据块作为基值;
采用所述基值近似表示各数据块,获得待写数据的近似数据;
将所述近似数据存入二级缓存中;
将所述近似数据写入内存;
若所述第四判断结果为否,提取源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数,根据所述重复单元和所述重复次数生成所述源数据的压缩数据。
10.根据权利要求9所述的一种数据写入控制方法,其特征在于,所述“对所述待写数据进行近似处理,获得近似数据”和所述“将所述近似数据存入二级缓存中”之间,还包括:
采用BCH编码方法对所述近似数据进行校验,获得校验后的近似数据;
所述“将所述近似数据存入二级缓存中”和所述“将所述近似数据写入内存”之间,还包括:
采用与BCH编码方法对应的BCH解码方法对所述二级缓存中存储的数据进行解码,获得解码后的近似数据。
11.一种数据写入控制系统,其特征在于,所述数据写入控制系统包括:
第二待写数据获取模块,用于获取一级缓存中的待写数据;
第四判断模块,用于判断所述待写数据是否为浮动型冗余数据,获得第四判断结果;
写入近似模块,用于当所述第四判断结果表示是,则对所述待写数据进行近似处理,获得近似数据,写入近似模块具体包括:
写入位宽获取单元,用于获取存储介质的位宽;
写入数据块确定单元,用于根据所述存储介质的位宽确定数据块的大小;
写入数据块划分单元,用于根据数据块的大小将所述待写数据划分为多个数据块;
写入基值确定单元,用于将第一个所述数据块作为基值;
写入近似单元,用于采用所述基值近似表示各数据块,获得待写数据的近似数据;
第二存储模块,用于将所述近似数据存入二级缓存中;
第三写入模块,用于将所述近似数据写入内存;
所述数据写入控制系统用于当源数据的冗余类型为重复型时,提取所述源数据中重复的数据块作为重复单元,并统计所述重复单元的重复次数,根据所述重复单元和所述重复次数生成所述源数据的压缩数据。
CN201910449724.7A 2019-05-28 2019-05-28 一种高速缓冲存储器、一种数据读写控制方法及系统 Active CN110209598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910449724.7A CN110209598B (zh) 2019-05-28 2019-05-28 一种高速缓冲存储器、一种数据读写控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910449724.7A CN110209598B (zh) 2019-05-28 2019-05-28 一种高速缓冲存储器、一种数据读写控制方法及系统

Publications (2)

Publication Number Publication Date
CN110209598A CN110209598A (zh) 2019-09-06
CN110209598B true CN110209598B (zh) 2021-05-18

Family

ID=67789080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910449724.7A Active CN110209598B (zh) 2019-05-28 2019-05-28 一种高速缓冲存储器、一种数据读写控制方法及系统

Country Status (1)

Country Link
CN (1) CN110209598B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112631960B (zh) * 2021-03-05 2021-06-04 四川科道芯国智能技术股份有限公司 高速缓冲存储器的扩展方法
CN113190474B (zh) * 2021-04-30 2022-07-12 华中科技大学 一种提升stt-mram近似缓存能效的方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122959A (zh) * 2011-03-29 2011-07-13 西安交通大学 提高计算机主存可靠性的数据压缩装置及其方法
CN105512120A (zh) * 2014-09-22 2016-04-20 中国石油化工股份有限公司 一种地震数据压缩方法、压缩存储结构及随机访问方法
CN108174214A (zh) * 2017-12-08 2018-06-15 重庆邮电大学 一种基于屏幕内容视频编码的远程桌面共享方法
CN109144471A (zh) * 2017-06-28 2019-01-04 英特尔公司 用于二进制向量分解的二进制乘法器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838045B1 (en) * 2015-03-05 2017-12-05 Violin Systems Llc Apparatus and method for accessing compressed data
US9712190B2 (en) * 2015-09-24 2017-07-18 International Business Machines Corporation Data packing for compression-enabled storage systems
CN106569750A (zh) * 2016-11-09 2017-04-19 郑州云海信息技术有限公司 一种数据压缩方法及装置
CN106598492B (zh) * 2016-11-30 2019-04-09 辽宁大学 一种应用于海量不完整数据的压缩优化方法
CN110134342A (zh) * 2019-05-28 2019-08-16 首都师范大学 数据近似方法及系统、存储方法及系统、读取方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102122959A (zh) * 2011-03-29 2011-07-13 西安交通大学 提高计算机主存可靠性的数据压缩装置及其方法
CN105512120A (zh) * 2014-09-22 2016-04-20 中国石油化工股份有限公司 一种地震数据压缩方法、压缩存储结构及随机访问方法
CN109144471A (zh) * 2017-06-28 2019-01-04 英特尔公司 用于二进制向量分解的二进制乘法器
CN108174214A (zh) * 2017-12-08 2018-06-15 重庆邮电大学 一种基于屏幕内容视频编码的远程桌面共享方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
利用数据冗余性的高速缓存压缩校验技术;田芳,王晶,张伟功;《小型微型计算机系统》;20180930(第09期);第2003-2009页 *

Also Published As

Publication number Publication date
CN110209598A (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
KR101150162B1 (ko) 데이터 저장 시스템에서 심볼 빈도 레벨링
US6597812B1 (en) System and method for lossless data compression and decompression
US20180203797A1 (en) Compression and Decompression of Data at High Speed in Solid State Storage
CN104657231B (zh) 在存储器设备处的控制数据的错误校正的系统和方法
US9425828B2 (en) Memory device and memory system
US7447814B1 (en) Method and apparatus for fast loss-less memory data compression wherein data corresponds to a cache line of data in cache
US8208532B2 (en) Method and apparatus for data compression and decompression
US20040181734A1 (en) Extended error correction codes
US8407378B2 (en) High-speed inline data compression inline with an eight byte data path
US6519733B1 (en) Method and apparatus for high integrity hardware memory compression
US20120102295A1 (en) Data compression and encoding in a memory system
CN110209598B (zh) 一种高速缓冲存储器、一种数据读写控制方法及系统
CN103914404B (zh) 一种粗粒度可重构系统中的配置信息缓存装置及压缩方法
CN103563255B (zh) 用于可执行代码的压缩与实时解压缩的方法
US11074124B2 (en) Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
CN102122959A (zh) 提高计算机主存可靠性的数据压缩装置及其方法
US8495464B2 (en) Reliability support in memory systems without error correcting code support
CN111192622B (zh) 闪存控制器及其中的编码电路与解码电路
WO2021012278A1 (zh) 一种数据的处理方法、系统、编码器及解码器
CN102129873B (zh) 提高计算机末级高速缓存可靠性的数据压缩装置及其方法
US10911064B1 (en) Symbol pair encoding for data compression
CN116594572B (zh) 浮点数流式数据压缩方法、装置、计算机设备及介质
CN114268323B (zh) 支持行存的数据压缩编码方法、装置及时序数据库
CN116302670A (zh) 编解码方法、编解码器、芯片、硬盘、通讯系统
CN210110352U (zh) 纠正NAND Flash中多比特错误的ECC装置

Legal Events

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