一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于MLC相变存储器的数据存储方法、读取方法及装置与流程

2022-09-03 15:33:38 来源:中国专利 TAG:

基于mlc相变存储器的数据存储方法、读取方法及装置
技术领域
1.本发明涉及数据存储的技术领域,尤其涉及一种基于mlc相变存储器的数据存储方法、读取方法及装置。


背景技术:

2.随着“大数据”和“机器学习”时代的来临,全球存储需求总量也极速增长。因此人们对于新型存储器的研究也越来越多。相比目前市场上主流的dram和nand闪存,新型存储器结合两者的优点即随机读写且速度快以及掉电不丢失数据特性。新型存储器典型代表有相变存储器(phase-change random access memory,pcram),阻变存储器(resistive random access memory,rram),磁性随机存储器(magnetoresistive random access memory,mram)等,其中相变存储器由于和目前主流的cmos工艺兼容特点,有潜力成为下一代主流非易失存储技术。
3.相变存储的存储单元是利用晶态的低阻值和非静态的高阻值来实现“1”和“0”的表示。基于多比特存储技术的双层存储单元(multi-level cell,mlc),一个存储单元需要表示为四个状态,相比传统单层存储多引入了两个中间态。由于非晶态硫系化合物相变材料存在自发的结构弛豫现象,使得相变材料存在阻值漂移问题,在电学特性上表现为电阻率的自发增大。在判别电阻不变情况下,中间态与判别电阻发生交叠进而产生读取错误更容易发生。
4.阻值漂移会引起单元中数据读取错误(原始错误率),目前主流控制相变存储器的原始错误率主流方法是从介质操控角度出发,通过精细调控脉冲的频率和幅值来控制每个状态的稳定性。例如引入定期的检查刷新操作来稳定每个存储单元状态的分布(类似于dram的刷新机制),但是功耗和响应时间是评价固态硬盘好坏的重要指标,这种定期检查和刷新操作会带来额外的功耗和占用服务时间。


技术实现要素:

5.本技术实施例通过提供一种基于mlc类型相变存储器的数据存储方法、读取方法及装置,通过减少一个存储页中的中间态占有率,减少原始错误率的产生,提高基于mlc类型pcram固态硬盘的可靠性。
6.本技术实施例提供了一种基于mlc类型相变存储器的数据存储方法,所述方法包括:
7.从逻辑页中获取字段;
8.对所述字段进行编码,统计所述字段编码中中间态编码的位数;
9.若所述位数与字段总长度之比大于二分之一,则将所述字段中每个信息位的编码进行比特翻转,并将标志位标识为第一标识值,若所述位数与字段总长度之比小于或等于二分之一,则将字段中每个信息位的编码保持不变,并将标志位标识为第二标识值;
10.将编码后数据写入相变存储器物理页中。
11.可选地,从逻辑页中获取字段包括:
12.将逻辑页拆分成n个长度为m的字段;
13.依次选取所述逻辑页拆分的字段。
14.可选地,所述字段长度m的取值范围为4b-512b。
15.可选地,所述第一标识值为全晶态,所述第二标识值为非晶态,或者所述第一标识值为非晶态,所述第二标识值为全晶态。
16.本技术实施例提供了一种基于mlc类型相变存储器的数据存储装置,所述数据存取装置包括:
17.获取模块,用于从逻辑页中获取字段;
18.统计模块,用于对所述字段进行编码,统计所述字段编码中中间态编码的位数;
19.标识模块,用于若所述位数与字段总长度之比大于二分之一,则将所述字段中每个信息位的编码进行比特翻转,并将标志位标识为第一标识值,若所述位数与字段总长度之比小于或等于二分之一,则将字段中每个信息位的编码保持不变,并将标志位标识为第二标识值;
20.写入模块,将编码后数据写入相变存储器物理页中。
21.可选地,所述获取模块包括:
22.拆分子模块,用于将逻辑页拆分成n个长度为m的字段;
23.选取子模块,用于依次选取所述逻辑页拆分的字段。
24.可选地,所述字段长度m的取值范围为4b-512b。
25.可选地,所述第一标识值为全晶态,所述第二标识值为非晶态,或者所述第一标识值为非晶态,所述第二标识值为全晶态。
26.本技术实施例提供了一种基于mlc类型相变存储器的数据读取方法,所述方法包括:
27.读取相变存储器物理页中的字段编码;
28.确定标识位编码,所述标识位编码为所述字段编码的一部分;
29.若标识位为第一标识值,则去掉字段编码中的标志位,将剩余的字段中每个信息编码进行比特翻转,若标识位为第二标识值,则去掉字段编码中的标志位,将字段中每个信息编码保持不变;
30.将处理后的所述字段编码解码成字段。
31.本技术实施例提供了一种基于mlc类型相变存储器的数据读取装置,所述装置包括:
32.字段读取模块,用于读取相变存储器物理页中的字段编码;
33.标识位确认模块,用于确定标识位编码,所述标识位编码为所述字段编码的一部分;
34.编码处理模块,用于若标识位为第一标识值,则去掉字段编码中的标志位,将剩余的字段中每个信息编码进行比特翻转,若标识位为第二标识值,则去掉字段编码中的标志位,将字段中每个信息编码保持不变;
35.解码模块,用于将处理后的所述字段编码解码成字段。
36.本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
37.从逻辑页中获取字段;对所述字段进行编码,统计所述字段编码中中间态编码的位数;若所述位数与字段总长度之比大于二分之一,则将所述字段中每个信息位的编码进行比特翻转,并将标志位标识为第一标识值,若所述位数与字段总长度之比小于或等于二分之一,则将字段中每个信息位的编码保持不变,并将标志位标识为第二标识值;将编码后数据写入相变存储器物理页中。
38.本技术的方法从mlc类型pcram中间态的阻值漂移引起的读取错误明显大于全晶态的读取错误和非晶态的读取错误这一特点出发,利用比特翻转编码策略对字段进行编码,从而有效减少中间态在相变存储器的物理页中占比,进而在长时间保存下原始错误率仍然可以保持在纠错模块能力范围,可提高mlc类型pcram固态硬盘的使用寿命和可靠性。
附图说明
39.图1为相变存储器操作示意图;
40.图2为一种基于mlc类型相变存储器的数据存储方法的流程图;
41.图3为一种从逻辑页中获取字段的流程图;
42.图4为mlc类型pcram编码方式;
43.图5为mlc类型相变存储器的电阻概率分布图;
44.图6为mlc类型相变存储器电阻漂移概念图;
45.图7为字段和标志位示意图;
46.图8为比特翻转前后效果对比图;
47.图9为一种基于mlc类型相变存储器的数据读取方法的流程图;
48.图10为一种基于mlc类型相变存储器的数据存储装置的框图;
49.图11为一种基于mlc类型相变存储器的数据读取装置的框图。
具体实施方式
50.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
51.相变存储的存储单元是利用晶态的低阻值和非静态的高阻值来实现“1”和“0”的表示。图1为相变存储器操作示意图,如图1所示,其中操作包括:reset操作,利用时间较短的大脉冲电流实现非晶态的转换;set操作,利用时间较长的中等强度脉冲来实现晶态的转换;读取操作,利用一个很小的试探脉冲来进行阻值的读取。
52.本技术涉及一种比特翻转算法实现mlc相变存储器的可靠性提升。图2为本技术实施例中一种基于mlc类型相变存储器的数据存储方法的流程图。如图2所示,所述方法包括:
53.s101,从逻辑页中获取一字段。
54.目前mlc相变存储器都是采用(one-shot-program)一次性编程写入方法,就是将要写入到一个物理页中两个逻辑页数据组合到一起,通过一次性编程写入。具体地,如图3所示,s101可以包括:
55.s1011:将逻辑页拆分成n个长度为m的字段。
56.进一步地,将逻辑页拆分成n个长度为m的字段。从概率学上,一般来说字段越短翻转效果越好,因为短字段的状态分布的不均匀性更明显,比特翻转得到的减少中间态数量
的效果越好,对于物理页原始错误率的减少作用就越明显。而长字段的状态分布易于趋近均匀,这样翻转产生的中间态的数量减少就不明显。但是字段短的话,意味标志位数量的增多,这就产生了存储空间的占用。可选地,所述字段长度m的取值范围为4b-512b。
57.s1012:依次选取所述逻辑页拆分的字段。
58.在实现时,为了保持逻辑页的完整,可以按照顺序依次选取所述逻辑页拆分的字段。
59.s102,对所述字段进行编码,统计所述字段编码中中间态编码的位数。
60.多比特存储技术是指存储器的一个存储单元(cell)中可以存储多个比特(bit)数据。双层存储单元(mlc,multi-level cell)是指一个存储空间存储2个bit,一个mlc相变存储器存储物理页可以存储两个逻辑页的数据,即分别为低页和高页,对于一个存储单元来说低页的数据称为lsb,高页数据称为msb。因此,一个存储单元的数据编码有22=4种,具体包括“11”、“10”、“00”、“01”。
61.图4为mlc类型pcram编码方式。如图4所示,全晶态对应表示“11”,中间态1对应表示“10”,中间态2对应表示“00”,非晶态对应表示“01”。可以理解的,其编码方式与状态的对应方式不唯一,这里只是列举了一种。可见,在多比特存储技术应用在相变存储器时,除了利用晶态和非静态两个极端状态外,还需要利用部分晶化或非晶化的中间态。
62.s103,若所述位数与字段总长度之比大于二分之一,则将所述字段中每个信息位的编码进行比特翻转,并将标志位标识为第一标识值,若所述位数与字段总长度之比小于或等于二分之一,则将字段中每个信息位的编码保持不变,并将标志位标识为第二标识值。
63.由于非晶态硫系化合物相变材料存在自发的结构弛豫现象,相变材料在非晶态下阻值会随着时间增加,在电学特性上表现为电阻率的自发增大,即存在阻值漂移问题。即使在室温下也是如此,相变单元阻值随时间的推移逐渐增大,且增大的速率与非晶程度相关,非晶程度越大,即阻态越高时,漂移速率越快。图5为mlc类型相变存储器电阻漂移概念图。如图5所示,可以看出除去晶态阻值基本不变外,mlc类型的pcram其他三个状态阻值均会随着时间推移而增加。在判别电阻不变情况下,中间态与判别电阻发生交叠进而产生读取错误更容易发生。虽然非晶态电阻也会增大,但是没有与判别电阻发生交叠不会产生读取错误。
64.阻值漂移会引起单元中数据读取错误(原始错误率),对于固态硬盘系统而言会有一个ecc模块来读取信息进行纠错。但是ecc纠错能力是上限的,而且过多的原始错误率会增加ecc解码的时间开销影响读响应时间。对于mlc的pcram而言,其存储单元状态更多,态与态之间的空隙更小,阻值漂移现象对其数据错误率影响更大。图6为mlc类型相变存储器电阻漂移概念图,如图6所示,引入的中间态1和中间态2,由于是部分非晶化,所以导致阻值漂移现象引起的读取错误会更加严重。
65.在一些实施例中,如图2所示,全晶态对应表示“11”,中间态1对应表示“10”,中间态2对应表示“00”,非晶态对应表示“01”。中间态1可以通过比特翻转将“10”变为“01”,即可以用非晶态来映射。中间态2可以通过比特翻转将“00”变为“11”,即可以用全晶态来映射。即通过比特翻转,可以将两种容易产生读取错误的中间状态转变为比较稳定的非晶态或全晶态来表示。
66.可以理解地,如果中间占比高于一半,那么进行比特翻转操作可以提高数据存储
的稳定性,当中间态占比小于或等于一半时,由于中间态占比较少,无需进行比特翻转操作。
67.图7为字段和标志位示意图,为了读取方便,在字段中引入了标志位。如图7所示,读取时主控可以根据标记位的状态,来决定解码方式。如果是第一标识值,则将读取字段信息为全部取反存入缓存以备组合成一个完整的逻辑页。如果是第二标识值,则不进行取反操作将数据写入缓存以备组合成一个完整地逻辑页。
68.具体地,标志位可以设置在字段之前,也可以设置在字段之后。
69.可选地,所述第一标识值为全晶态,所述第二标识值为非晶态,或者所述第一标识值为非晶态,所述第二标识值为全晶态,使用全晶态和非晶态来映射标识位,能够保证标识位的在长时间储存时的正确性。
70.s104,将编码后数据写入相变存储器物理页中。
71.图8为比特翻转前后效果对比图。为了方便说明,我们将物理页的单元数量设为10,如图8所示,原始物理页的稳定态为4个,数量较少,因此长时间存储后出错概率更高导致原始错误率高。但是经过比特翻转操作后,该物理页可以用稳定态更多的存储方式进行长时间保存,进而减少原始错误率。
72.可见,本技术的方法从mlc类型pcram中间态的阻值漂移引起的读取错误明显大于全晶态的读取错误和非晶态的读取错误这样一个特点出发,利用比特翻转编码策略对字段进行编码,从而有效减少中间态在相变存储器的物理页中占比,进而在长时间保存下原始错误率仍然可以保持在纠错模块能力范围,可提高mlc类型pcram固态硬盘的使用寿命和可靠性。
73.本技术提供了另一种基于mlc类型相变存储器的数据读取方法,如图9所示,所述方法包括:
74.s201,读取相变存储器物理页中的一字段编码。
75.可选地,根据逻辑页的拆分规律,以长度为m 1读取相变存储器物理页中的字段编码。
76.s202,确定标识位编码,所述标识位编码为所述字段编码的一部分。
77.可选地,根据字段编码和标识位的位置,确定标识位编码。
78.s203,若标识位为第一标识值,则去掉字段编码中的标志位,将剩余的字段中每个信息编码进行比特翻转,若标识位为第二标识值,则去掉字段编码中的标志位,将字段中每个信息编码保持不变。
79.可选地,读取时主控可以根据标记位的状态,来决定解码方式。如果是第一标识值,则将读取字段信息为全部取反存入缓存以备组合成一个完整的逻辑页。如果是第二标识值,则不进行取反操作将数据写入缓存以备组合成一个完整地逻辑页。
80.s204,将处理后的所述字段编码解码成字段。
81.本技术的方法从mlc类型pcram中间态的阻值漂移引起的读取错误明显大于全晶态的读取错误和非晶态的读取错误这样一个特点出发,利用比特翻转编码策略对特定长度字段进行编码,从而有效减少中间态在相变存储器的物理页中占比,进而在长时间保存下原始错误率仍然可以保持在纠错模块能力范围,可提高mlc类型pcram固态硬盘的使用寿命和可靠性。
82.图10为一种基于mlc类型相变存储器的数据存储装置。所述装置包括获取模块301、统计模块302、标识模块303和写入模块304。
83.获取模块301,用于从逻辑页中获取一字段;
84.统计模块302,用于对所述字段进行编码,统计所述字段编码中中间态编码的位数;
85.标识模块303,用于若所述位数与字段总长度之比大于二分之一,则将所述字段中每个信息位的编码进行比特翻转,并将标志位标识为第一标识值,若所述位数与字段总长度之比小于或等于二分之一,则将字段中每个信息位的编码保持不变,并将标志位标识为第二标识值;
86.写入模块304,将编码后数据写入相变存储器物理页中。
87.可选地,所述获取模块301包括:
88.拆分子模块,用于将逻辑页拆分成n个长度为m的字段;
89.选取子模块,用于选取其中一字段。
90.可选地,所述字段长度m的取值范围为4b-512b。
91.可选地,所述第一标识值为全晶态,所述第二标识值为非晶态,或者所述第一标识值为非晶态,所述第二标识值为全晶态。
92.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
93.图11为一种基于mlc类型相变存储器的数据读取装置。如图11所示,所述装置包括字段读取模块401、标识位确认模块402、编码处理模块403和解码模块404。
94.字段读取模块401,用于读取相变存储器物理页中的一字段编码;
95.标识位确认模块402,用于确定标识位编码,所述标识位编码为所述字段编码的一部分;
96.编码处理模块403,用于若标识位为第一标识值,则去掉字段编码中的标志位,将剩余的字段中每个信息编码进行比特翻转,若标识位为第二标识值,则去掉字段编码中的标志位,将字段中每个信息编码保持不变;
97.解码模块404,用于将处理后的所述字段编码解码成字段。
98.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献