CN107622781B - 一种提升三层忆阻器写性能的编解码方法 - Google Patents
一种提升三层忆阻器写性能的编解码方法 Download PDFInfo
- Publication number
- CN107622781B CN107622781B CN201710945046.4A CN201710945046A CN107622781B CN 107622781 B CN107622781 B CN 107622781B CN 201710945046 A CN201710945046 A CN 201710945046A CN 107622781 B CN107622781 B CN 107622781B
- Authority
- CN
- China
- Prior art keywords
- idm
- cache line
- coding
- compression
- line 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种提升三层忆阻器写性能的编解码方法,属于数据编解码技术领域。本发明编码方法包括:将写入的缓存行数据使用FPC压缩算法进行压缩;再根据压缩以后的缓存行数据大小计算压缩率;之后根据缓存行数据的压缩率选择IDM编码方式进行编码;最后将IDM编码后的数据写入到TLC RRAM单元中。本发明解码方法包括:从TLC RRAM单元中读出IDM标志单元、压缩标志位和缓存行数据;再根据IDM编码标志单元确定IDM解码的方式进行解码;最后根据压缩标志位对缓存行数据执行解压缩,最终得到8个解压缩的字,组合在一起即为解压缩以后的缓存行数据。本发明方法将FPC压缩技术和IDM编码结合在一起,很好的提升TLC RRAM的写性能,同时该方法的解码延迟及开销都很小。
Description
技术领域
本发明属于数据编解码技术领域,更具体地,涉及一种提升三层忆阻器写性能的编解码方法。
背景技术
忆阻器(RRAM,Resistive Random Access Memory)是一种新型的非易失存储器,它通过金属氧化物的阻值状态的变化来表示0和1,一般将金属氧化物高阻值的状态用来表示0,将金属氧化物处于低阻值的状态用来表示1;为了实现信息的写入,需要通过施加电压的方式改变金属氧化物的阻值状态。写1时需要给RRAM单元施加一个SET电压,写0时需要施加一个RESET的电压。为了从RRAM单元中读出数据,需要施加一个较小的电压来检测RRAM单元的阻值。
RRAM单元处于高阻值和低阻值之间的阻值差异非常大,甚至可以达到100倍。这个极宽的阻值范围可以通过细分的方式来存储多位的数据。比如,可以将一个RRAM单元的阻值变化范围细分为8层来存储3位的数据,即三层结构(TLC,Triple Level Cell)的RRAM。TLC RRAM相比普通存储一位的单层(Single Level Cell,SLC)RRAM具有更大容量、更高集成度的优势。但是TLC RRAM的编程方式更加复杂。一般TLC的RRAM使用“编程和校验”(P&V,Program-and-verify)的编程方式。P&V的编程方式首先给TLC RRAM施加一个较强的SET或者RESET的脉冲,然后接连使用几个较短的SET或者RESET脉冲。在每个较短的SET或者RESET脉冲之后,都需要一个读操作来验证这个TLC单元是否已经到达了目标阻值。
P&V的编程方式导致了TLC RRAM写延迟很高,同时需要消耗更高的写能耗。TLCRRAM的写能耗和写延迟为SLC RRAM的5-10倍。同时这种编程方式又导致了TLC RRAM单元写能耗写延迟与编程的最终状态紧密相关。
TLC RRAM的8个阻值状态为S0,S1,S2,S3,S4,S5,S6和S7。每个阻值状态可以存储三位的数据,单元的阻值状态与存储的值一一对应,即S0阻值状态存储二进制的“000”,S1阻值状态存储二进制的“001”,类似,S7阻值状态存储二进制的“111”。编程到中间的阻值状态,例如状态S3和S4,相比编程到两边的阻值状态例如S0和S7延迟更长、能耗更高。如表1所示:
单元的阻值状态 | S0 | S1 | S2 | S3 | S4 | S5 | S6 | S7 |
延迟(ns) | 15.2 | 46.8 | 98.3 | 143 | 150 | 101 | 52.7 | 12.1 |
能耗(pJ) | 2 | 6.7 | 19.3 | 35.1 | 35.6 | 19.6 | 8.5 | 1.5 |
表1
数据压缩技术,例如Frequent Pattern Compression(FPC)可以将数据压缩从而减少需要写入的位数。如表2所示:
表2
FPC以字(64位)为单位进行压缩,可以压缩7种不同的数据模式。第一种模式为64位全0的数据,这样的数据可以通过3位的前缀位来表示。第一种模式中64位的全0被压缩为3位的前缀位。第二种模式中,一个字的高56位为0,低8位可变,这种模式通过前缀位001来表示。压缩以后的数据为前缀位加上可变的低8位,因此总的数据位数为11位。除了这两种另外还有5中不同的可压缩的数据模式。对于不同的数据模式,FPC可以节省的空间是变化的。
与压缩减少写入位数的作用相反,数据编码技术,例如部分数据映射(IncompleteData Mapping,IDM)可以牺牲一定的空间来换取更低的写延迟和写能耗。IDM使用TLC的8个状态中能耗和延迟较低的几个状态来存储二进制数据,而不用8个状态中延迟和能耗高的状态。例如使用8个状态中低能耗和延迟的4个状态,即状态S0、S1、S6和S7,这四种状态可以表示2位的二进制数。通过这种部分数据映射的方式,TLC的写能耗和写延迟会大大降低。只使用4个状态时,写延迟为这四个状态中最高的阻值状态S6的延迟,为52.7ns。远小于使用8个状态时的延迟150ns(写阻值状态S4的延迟)。类似,写能耗也会降低。但是只使用部分状态编码会带来容量的开销。原本一个TLC具有8个状态,可以用来区分3位的数据。只使用其中四个状态时,只用用来表示2位的数据。因此会造成1/3的容量开销。一般而言,使用具有q个阻值状态的单元中的p个状态来表示二进制数据,连续使用r个这样的单元可以表示k位的二进制数。可以标记为IDM((p,q),r),其中qr≈2k,如图1所示。不同的IDM会牺牲不同的空间换取不同程度的延迟和能耗的降低。使用越少低延迟、能耗的状态进行编码会得到更低延迟、能耗的RRAM,但是相同数量的RRAM可以存储的二进制位数变少,因此会牺牲更多的容量。
仅仅只是使用IDM进行编码可以提升TLC结构RRAM的写性能,但是会消耗很多的额外空间。比如说IDM((8,6),2)使用TLC RRAM中的6个状态进行编码,2个这样的单元可以表示5位的二进制数。而原本可以存储6位,因此IDM((8,6),2)造成了1/5的容量开销。一些工作提出压缩以后在不超过原始数据位宽的条件下,使用某一种IDM编码方式。例如,如果数据被压缩为原来的2/3,则可以使用牺牲1/3容量的IDM((8,4),1)。但是对于压缩率很高的数据,仍然会有一部分空间得不到利用;另一方面对于压缩率较低的数据,这种IDM不能使用。因此,现有方法不能充分利用压缩节省出来的空间最大化提升写性能。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种提升三层忆阻器写性能的编解码方法,其目的在于充分利用FPC压缩算法节省存储空间,尽可能多的将节省出来的空间用来进行IDM编码,以提升三层忆阻器的写性能,由此解决三层忆阻器应用于系统中导致高写能耗和写延迟的技术问题。
为实现上述目的,提供了一种提升三层忆阻器写性能的编解码方法,所述编码方法包括:
(1)将写入的缓存行数据使用压缩算法进行压缩;
(2)根据压缩以后的缓存行数据大小计算压缩率;
(3)若压缩率小于压缩阈值,则不对数据进行IDM编码,否则根据具体的压缩率确定数据使用IDM编码的方式;
(4)将使用IDM编码后的数据或没有使用IDM编码的数据写入到TLC RRAM单元中。
进一步地,所述编码方法的步骤(1)包括:
(11)将每个缓存行数据以字为单位进行分组;
(12)使用压缩算法对每个字进行压缩,并记录压缩后每个字的大小,每个字对应一个压缩标志位,压缩标志位记录字是否能被压缩;
(13)将压缩后的字连续存放。
进一步地,所述压缩算法为FPC压缩算法。
进一步地,所述编码方法的步骤(2)包括:
(21)将缓存行中每个压缩后的字的大小相加得到压缩后缓存行的位数C;C的取值范围为24到512;
(22)计算压缩率R为:
R=(CO+T)/(C+T)
其中,CO表示压缩前缓存行的位数,优选512;T表示压缩标志位的位数,优选8;由上式可知压缩率R的取值范围为1到16.25。
进一步地,所述编码方法的步骤(3)包括:
(31)根据缓存行数据的压缩率选择IDM编码方式:
压缩阈值为1.2,若缓存行数据的压缩率在[1,1.2)之间,则不进行IDM编码,对应的IDM编码标志单元的阻值状态设为S2;
若缓存行数据的压缩率在[1.2,1.5)之间,则选择IDM((8,6),2)编码方式,对应的IDM编码标志单元的阻值状态设为S6;
若缓存行数据的压缩率在[1.5,2)之间,则选择IDM((8,4),1)编码方式,对应的IDM编码标志单元的阻值状态设为S1;
若缓存行数据的压缩率在[2,3)之间,则选择IDM((8,3),2)编码方式,对应的IDM编码标志单元的阻值状态设为S0;
若缓存行数据的压缩率在[3,16.25]之间,则选择IDM((8,2),1)编码方式,对应的IDM编码标志单元的阻值状态设为S7;
(32)使用对应的IDM编码方式对压缩以后的缓存行数据和压缩标志位组合成的数据进行编码。
进一步地,所述编码方法的步骤(4)包括:
(41)对于不进行IDM编码的缓存行数据,将对应的IDM编码标志位、压缩标志位和没有进行IDM编码的缓存行数据连续存放后写入到对应的物理单元中;进入步骤(43);
(42)对于进行IDM编码的缓存行数据,将对应的IDM编码标志位、压缩标志位和进行IDM编码后的缓存行数据连续存放后写入到对应的TLC RRAM单元中;进入步骤(43);
(43)写入数据前判断是否有TLC RRAM单元中存储的旧数据和将写入的新数据一样,若有则该TLC RRAM单元不需要执行写操作。
所述解码方法包括:
Step1、从TLC RRAM单元中读出IDM标志单元、压缩标志位和缓存行数据;
Step2、根据IDM编码标志单元确定IDM解码的方式,对压缩标志位和缓存行数据进行解码;
Step3、根据压缩标志位对解码以后的缓存行数据执行解压缩,若压缩标志位指示缓存行未压缩,则直接输出对应的字,否则使用解压缩算法对对应的字进行解压缩,最终得到8个字,组合在一起即为解压缩以后的缓存行数据。
进一步地,所述解码方法的Step 2包括:
Step21、若IDM编码标志单元的阻值状态为S2,则表示缓存行数据没有使用IDM编码,不用对压缩标志位和缓存行数据解码;
Step22、若IDM编码标志单元的阻值状态为S0、S1、S6或S7,则根据IDM编码标志单元的阻值状态选择对应的IDM解码方式,对压缩标志位和缓存行数据进行解码。
进一步地,所述解压缩算法为FPC解压缩算法。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:
(1)本发明将数据压缩技术和数据编码这两种不同的技术很好的结合在一起提升TLC RRAM的写性能,同时方法的编码解码延迟开销很小;
(2)本发明动态根据每个缓存行的压缩率选择一种最合适的IDM编码方式,可以充分利用压缩节省出来的空间,最大化IDM编码的性能,将压缩节省出来的空间全部用于提升TLC RRAM单元的写性能;
(3)本发明的空间开销非常小,对每个缓存行只需要11位的额外空间,在降低TLCRRAM单元写延迟写能耗的同时,产生的空间开销为仅仅为2.1%;
(4)本发明采用了读对比写的方式,可以避免冗余的写,可以降低写能耗。
附图说明
图1是为部分数据映射IDM((p,q),r)的编码方式;
图2是本发明方法中编码过程示意图;
图3是本发明方法中解码过程示意图;
图4是采用本发明方法的系统编码解码实施示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
上级缓存系统对内存的写以缓存行为单位,典型的缓存行大小为64字节(64B),因此本专利假设缓存行的大小为64B。本专利中字的大小为64位(64b),压缩方法可以选用其它任意的压缩方法,本专利实施例FPC压缩算法为例。
如图2所示,编码方法包括:
(1)将写入的缓存行数据使用FPC压缩算法进行压缩;
(11)将每个缓存行数据以字为单位进行分组;
(12)使用FPC压缩算法对每个字进行压缩,并记录压缩后每个字的大小,每个字对应一个压缩标志位,压缩标志位记录字是否能被压缩;
(13)将压缩后的字连续存放。
(2)根据压缩以后的缓存行数据大小计算压缩率;
(21)将缓存行中每个压缩后的字的大小相加得到压缩后缓存行的位数C;C的取值范围为24到512;
(22)计算压缩率R为:
R=(CO+T)/(C+T)
其中,CO表示压缩前缓存行的位数,优选512;T表示压缩标志位的位数,优选8;由上式可知压缩率R的取值范围为1到16.25。
(3)若压缩率小于压缩阈值,则不对数据进行IDM编码,否则根据具体的压缩率确定数据使用IDM编码的方式;
(31)根据缓存行数据的压缩率选择IDM编码方式,如表3所示:
压缩率 | IDM编码方式 | IDM编码标志单元 |
[3,16.25] | IDM((8,2),1) | S7 |
[2,3) | IDM((8,3),2) | S0 |
[1.5,2) | IDM((8,4),1) | S1 |
[1.2,1.5) | IDM((8,6),2) | S6 |
[1,1.2) | 不使用IDM编码 | S2 |
表3
压缩阈值为1.2,若缓存行数据的压缩率在[1,1.2)之间,则不进行IDM编码,对应的IDM编码标志单元的阻值状态设为S2;
若缓存行数据的压缩率在[1.2,1.5)之间,则选择IDM((8,6),2)编码方式,对应的IDM编码标志单元的阻值状态设为S6;
若缓存行数据的压缩率在[1.5,2)之间,则选择IDM((8,4),1)编码方式,对应的IDM编码标志单元的阻值状态设为S1;
若缓存行数据的压缩率在[2,3)之间,则选择IDM((8,3),2)编码方式,对应的IDM编码标志单元的阻值状态设为S0;
若缓存行数据的压缩率在[3,16.25]之间,则选择IDM((8,2),1)编码方式,对应的IDM编码标志单元的阻值状态设为S7;
(32)使用对应的IDM编码方式对压缩以后的缓存行数据和压缩标志位组合成的数据进行编码。
(4)将使用IDM编码后的数据或没有使用IDM编码的数据写入到TLC RRAM单元中。
(41)对于不进行IDM编码的缓存行数据,将对应的IDM编码标志位、压缩标志位和没有进行IDM编码的缓存行数据连续存放后写入到对应的物理单元中;进入步骤(43);
(42)对于进行IDM编码的缓存行数据,将对应的IDM编码标志位、压缩标志位和进行IDM编码后的缓存行数据连续存放后写入到对应的TLC RRAM单元中;进入步骤(43);
(43)写入数据前判断是否有TLC RRAM单元中存储的旧数据和将写入的新数据一样,若有则该TLC RRAM单元不需要执行写操作。
如图3所示,解码方法包括:
Step1、从TLC RRAM单元中读出IDM标志单元、压缩标志位和缓存行数据;
Step2、根据IDM编码标志单元确定IDM解码的方式,对压缩标志位和缓存行数据进行解码;
Step21、若IDM编码标志单元的阻值状态为S2,则表示缓存行数据没有使用IDM编码,不用对压缩标志位和缓存行数据解码;
Step22、若IDM编码标志单元的阻值状态为S0、S1、S6或S7,则根据IDM编码标志单元的阻值状态选择对应的IDM解码方式,对压缩标志位和缓存行数据进行解码。
Step3、根据压缩标志位对缓存行数据执行解压缩,若压缩标志位指示缓存行未压缩,则直接输出对应的字,否则使用解压缩算法对对应的字进行解压缩,最终得到8个字,组合在一起即为解压缩以后的缓存行数据。
如图4所示,当最后一级缓存(L3缓存)向内存控制器发送写缓存行命令时,缓存行的数据会放到写缓冲里面。如果写缓冲队列满了,缓存行的数据会由写缓冲发送到编码模块。如图2所示,编码模块会首先对这个缓存行使用FPC压缩,然后尝试使用IDM编码,编码完成以后设置对应的IDM编码标志单元,压缩标志位。IDM编码标志单元、压缩标志位连同缓存行的数据会被写入到RRAM阵列单元中。
当RRAM阵列单元接收到读命令时,IDM编码标志单元、压缩标志位连同缓存行的数据一起被读出。然后对IDM编码标志单元、压缩标志位连同缓存行的数据进行解码。如图3所示,解码模块首先会根据IDM编码标志单元对压缩标志位和缓存行数据进行IDM解码,然后对解码以后的压缩标志位和缓存行数据使用FPC解压缩。最终得到一个缓存行的数据,将这个缓存行的数据放入到读缓冲之中。
以上内容本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种提升三层忆阻器写性能的编解码方法,其特征在于,所述编码方法包括:
(1)将写入的缓存行数据使用压缩算法进行压缩;
(2)根据压缩以后的缓存行数据大小计算压缩率;
(3)若压缩率小于压缩阈值,则不对数据进行IDM编码,否则根据具体的压缩率确定数据使用IDM编码的方式;所述编码方法的步骤(3)包括:
(31)根据缓存行数据的压缩率选择编码方式:
压缩阈值为1.2,若缓存行数据的压缩率在[1,1.2)之间,则不进行IDM编码,对应的IDM编码标志单元的阻值状态设为S2;
若缓存行数据的压缩率在[1.2,1.5)之间,则选择IDM((8,6),2)编码方式,对应的IDM编码标志单元的阻值状态设为S6;
若缓存行数据的压缩率在[1.5,2)之间,则选择IDM((8,4),1)编码方式,对应的IDM编码标志单元的阻值状态设为S1;
若缓存行数据的压缩率在[2,3)之间,则选择IDM((8,3),2)编码方式,对应的IDM编码标志单元的阻值状态设为S0;
若缓存行数据的压缩率在[3,16.25]之间,则选择IDM((8,2),1)编码方式,对应的IDM编码标志单元的阻值状态设为S7;
(32)使用对应的IDM编码方式对压缩以后的缓存行数据和压缩标志位组合成的数据进行编码;
(4)将使用IDM编码后的数据或没有使用IDM编码的数据写入到TLC RRAM单元中。
2.根据权利要求1所述的一种提升三层忆阻器写性能的编解码方法,其特征在于,所述编码方法的步骤(1)包括:
(11)将每个缓存行数据以字为单位进行分组;
(12)使用压缩算法对每个字进行压缩,并记录压缩后每个字的大小,每个字对应一个压缩标志位,压缩标志位记录字是否能被压缩;
(13)将压缩后的字连续存放。
3.根据权利要求1或2所述的一种提升三层忆阻器写性能的编解码方法,其特征在于,所述压缩算法为FPC压缩算法。
4.根据权利要求1所述的一种提升三层忆阻器写性能的编解码方法,其特征在于,所述编码方法的步骤(2)包括:
(21)将缓存行中每个压缩后的字的大小相加得到压缩后缓存行的位数C;
(22)计算压缩率R为:
R=(CO+T)/(C+T)
其中,CO表示压缩前缓存行的位数;T表示压缩标志位的位数。
5.根据权利要求1所述的一种提升三层忆阻器写性能的编解码方法,其特征在于,所述编码方法的步骤(4)包括:
(41)对于不进行IDM编码的缓存行数据,将对应的IDM编码标志位、压缩标志位和没有进行IDM编码的缓存行数据连续存放后写入到对应的物理单元中;进入步骤(43);
(42)对于进行IDM编码的缓存行数据,将对应的IDM编码标志位、压缩标志位和进行IDM编码后的缓存行数据连续存放后写入到对应的TLC RRAM单元中;进入步骤(43);
(43)写入数据前判断是否有TLC RRAM单元中存储的旧数据和将写入的新数据一样,若有则该TLC RRAM单元不需要执行写操作。
6.一种提升三层忆阻器写性能的编解码方法,其特征在于,所述解码方法包括:
Step1、从TLC RRAM单元中读出IDM标志单元、压缩标志位和缓存行数据;
Step2、根据IDM编码标志单元确定IDM解码的方式,对压缩标志位和缓存行数据进行解码;所述解码方法的步骤Step 2包括:
Step21、若IDM编码标志单元的阻值状态为S2,则表示缓存行数据没有使用IDM编码,不用对压缩标志位和缓存行数据解码;
Step22、若IDM编码标志单元的阻值状态为S0、S1、S6或S7,则根据IDM编码标志单元的阻值状态选择对应的IDM解码方式,对压缩标志位和缓存行数据进行解码;
若缓存行数据的压缩率在[1,1.2)之间,则不进行IDM编码,对应的IDM编码标志单元的阻值状态设为S2;
若缓存行数据的压缩率在[1.2,1.5)之间,则选择IDM((8,6),2)编码方式,对应的IDM编码标志单元的阻值状态设为S6;
若缓存行数据的压缩率在[1.5,2)之间,则选择IDM((8,4),1)编码方式,对应的IDM编码标志单元的阻值状态设为S1;
若缓存行数据的压缩率在[2,3)之间,则选择IDM((8,3),2)编码方式,对应的IDM编码标志单元的阻值状态设为S0;
若缓存行数据的压缩率在[3,16.25]之间,则选择IDM((8,2),1)编码方式,对应的IDM编码标志单元的阻值状态设为S7;
(32)使用对应的IDM编码方式对压缩以后的缓存行数据和压缩标志位组合成的数据进行编码;
Step3、根据压缩标志位对解码以后的缓存行数据执行解压缩,若压缩标志位指示缓存行未压缩,则直接输出对应的字,否则使用解压缩算法对对应的字进行解压缩,最终得到8个字,组合在一起即为解压缩以后的缓存行数据。
7.根据权利要求6所述的一种提升三层忆阻器写性能的编解码方法,其特征在于,所述解压缩算法为FPC解压缩算法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710945046.4A CN107622781B (zh) | 2017-10-12 | 2017-10-12 | 一种提升三层忆阻器写性能的编解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710945046.4A CN107622781B (zh) | 2017-10-12 | 2017-10-12 | 一种提升三层忆阻器写性能的编解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107622781A CN107622781A (zh) | 2018-01-23 |
CN107622781B true CN107622781B (zh) | 2020-05-19 |
Family
ID=61091852
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710945046.4A Active CN107622781B (zh) | 2017-10-12 | 2017-10-12 | 一种提升三层忆阻器写性能的编解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107622781B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108418589B (zh) * | 2018-03-05 | 2020-07-10 | 华中科技大学 | 一种单层非易失存储器的动态编解码方法 |
CN111916128B (zh) * | 2020-07-03 | 2022-05-17 | 山东大学 | 一种缓解相变存储器写干扰的方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592682A (zh) * | 2012-02-20 | 2012-07-18 | 中国科学院声学研究所 | 一种测试数据编码压缩方法 |
CN103916131A (zh) * | 2013-01-02 | 2014-07-09 | 三星电子株式会社 | 压缩数据的方法和用于执行该方法的设备 |
CN104835535A (zh) * | 2015-05-15 | 2015-08-12 | 华中科技大学 | 一种固态盘自适应纠错方法与系统 |
CN105094709A (zh) * | 2015-08-27 | 2015-11-25 | 浪潮电子信息产业股份有限公司 | 一种固态盘存储系统的动态数据压缩方法 |
WO2017127103A1 (en) * | 2016-01-22 | 2017-07-27 | Hewlett Packard Enterprise Development Lp | Managing data in a storage array |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170206172A1 (en) * | 2016-01-19 | 2017-07-20 | SK Hynix Inc. | Tehcniques with os- and application- transparent memory compression |
-
2017
- 2017-10-12 CN CN201710945046.4A patent/CN107622781B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102592682A (zh) * | 2012-02-20 | 2012-07-18 | 中国科学院声学研究所 | 一种测试数据编码压缩方法 |
CN103916131A (zh) * | 2013-01-02 | 2014-07-09 | 三星电子株式会社 | 压缩数据的方法和用于执行该方法的设备 |
CN104835535A (zh) * | 2015-05-15 | 2015-08-12 | 华中科技大学 | 一种固态盘自适应纠错方法与系统 |
CN105094709A (zh) * | 2015-08-27 | 2015-11-25 | 浪潮电子信息产业股份有限公司 | 一种固态盘存储系统的动态数据压缩方法 |
WO2017127103A1 (en) * | 2016-01-22 | 2017-07-27 | Hewlett Packard Enterprise Development Lp | Managing data in a storage array |
Non-Patent Citations (2)
Title |
---|
Improving Performance of TLC RRAM with;Jie Xu;《2017 IEEE 35th International Conference on Computer Design》;20171123;573-580 * |
基于相变存储器的存储技术研究综述;冒伟;《计算机学报》;20150515;944-957 * |
Also Published As
Publication number | Publication date |
---|---|
CN107622781A (zh) | 2018-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11372765B2 (en) | Mapping for multi-state programming of memory devices | |
CN111667868B (zh) | 通过平衡格雷编码的多阶段编程的系统和方法 | |
US8560765B2 (en) | Systems and methods for variable level use of a multi-level flash memory | |
US7356755B2 (en) | Error correction for multi-level cell memory with overwrite capability | |
US8458416B2 (en) | Systems and methods for selecting bit per cell density of a memory cell based on data typing | |
US8243536B2 (en) | Systems and methods for increasing bit density in a memory cell | |
US20090024787A1 (en) | Data writing method and apparatus | |
US20140119116A1 (en) | Data writing method and data storage device for adjusting programming voltage values | |
US8289768B2 (en) | Systems and methods for extended life multi-bit memory cells | |
US8634243B2 (en) | Data writing method and data storage device | |
CN104991738A (zh) | 一种固态盘及其读写操作方法 | |
CN111383689A (zh) | 可调nand写入性能 | |
CN107622781B (zh) | 一种提升三层忆阻器写性能的编解码方法 | |
US20100106894A1 (en) | Method of storing and accessing error correcting code in NAND Flash | |
CN109872764B (zh) | 一种多级存储单元闪存的ecc多码率编解码系统及方法 | |
US10396821B2 (en) | Generating Hamming weights for data | |
US10095424B2 (en) | Apparatus and method for programming non-volatile memory using a multi-cell storage cell group | |
JP2001250386A (ja) | 半導体メモリ | |
US11528038B2 (en) | Content aware decoding using shared data statistics | |
US11456758B1 (en) | Adaptive soft-bit compression in flash memory | |
CN108418589B (zh) | 一种单层非易失存储器的动态编解码方法 | |
CN109189694B (zh) | 一种scm的数据编码方法及数据存储方法 | |
TWI537971B (zh) | Storage device and access method thereof | |
US9792053B2 (en) | Controller for nonvolatile semiconductor memory | |
KR101394356B1 (ko) | 쓰기 데이터 패턴 인식에 의한 플래시 메모리 관리 장치 및 방법 |
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 |