针对按位可编程非易失性存储器的数据管理方法和设备技术

技术编号:35287655 阅读:18 留言:0更新日期:2022-10-22 12:32
本公开的实施例涉及针对按位可编程非易失性存储器的数据管理方法和对应设备。响应于将新数据存储在按位可编程非易失性存储器的存储器位置处的请求,按位可编程存储器的存储器位置处存储的数据被感测。所感测的数据的位与新数据的位进行比较。成本差异的指示在按位编程操作的第一突发与按位编程操作的第二突发之间被确定,第一突发与对新数据中和所感测的数据的位不同的位进行编程相关联,第二突发与对新数据的互补反演中和所感测的数据的位不同的位进行编程相关联。按位编程操作的第一突发或按位编程操作的第二突发中的一个基于所生成的成本差异的指示来执行。所生成的成本差异的指示来执行。所生成的成本差异的指示来执行。

【技术实现步骤摘要】
针对按位可编程非易失性存储器的数据管理方法和设备


[0001]实施例涉及针对按位可编程非易失性存储器的数据管理,诸如相变式存储器“PCM”、金属氧化物电阻式存储器“OxRAM”或磁阻式存储器“MRAM”。

技术介绍

[0002]与基于浮栅晶体管(通常是闪存)的主要非易失性存储器技术并行,例如用于扩展和成本原因,行业正在转向通常被称为电阻式存储器的“新型”存储器,诸如OXRAM、MRAM和PCM。
[0003]与基于浮栅晶体管的存储器不同,该新型存储器通常具有按位可编程的优点,一次可更改一个位。
[0004]电阻式存储器的按位可编程能力的缺点是一次逐位或每几位对数据序列进行编程可能需要更长的时间。
[0005]特别是由于修改一个位所需的电流量限制了能够一次更改的位数,例如PCM类型的电阻式存储器通常具有较长的编程时间。
[0006]类似地,电阻式存储器中的编程操作通常会消耗大量能量。
[0007]但是,诸如例如在微控制器“MCU”中进行固件更新的情况下,或者在由于安全漏洞而破坏内容的情况下,存在若干情况需要更改大部分存储器。
[0008]解决与能耗有关的编程持续时间问题的经典解决方案特别是在成本和占位面积方面引入了影响竞争力的缺点。例如,增加可用电流通常需要更大的晶体管和更大的电荷泵,而提供外部电流源会导致更大的设备或非自主设备。此外,增加并行度,将存储器阵列划分为更小的子阵列并且对多个子阵列进行并行编程,在提供足够电流的情况下降低了一个子阵列中的电压降,但引入更大的外围面积。

技术实现思路

[0009]根据一个方面,提出了用于按位可编程非易失性存储器(诸如电阻式存储器,例如相变式存储器)的数据管理方法,方法包括将新数据存储在存储器字的存储器位置处,所述存储包括:
[0010]感测步骤,包括感测存储器位置中存储的先前数据;
[0011]判定步骤,包括:
[0012]计算按位编程操作的第一突发的第一量化,第一量化对应于与先前数据的位分别不同的新数据的位;
[0013]计算按位编程操作的第二突发的第二量化,第二量化对应于与先前数据的位分别不同的新数据的互补反演的位,
[0014]测试第一量化是否高于第二量化;以及
[0015]编程步骤,包括,如果判定步骤的测试为真,则对与先前数据的位分别不同的新数据的互补反演的位进行按位编程,并且将专用于存储器字的反演标记编程或保持在经标记
的值处。
[0016]首先,由于非易失性存储器的按位编程能力,只有新数据中与存储器位置中已存储位不同的位被选择性地编程。先前数据的公共位保持不变,从而节省了一些编程操作。
[0017]其次,按位编程操作的第一量化和第二量化表示在先前数据中改变而产生新数据或分别产生新数据的互补反演的位数。
[0018]计算这些量化允许测试对新数据的互补反演进行编程是否比对未反演的新数据进行编程在时间上更快且能耗更低。
[0019]如果新数据以其互补反演形式编程,则在经标记的值处编程的反演标记指示所存储的数据的含义是互补反演。如果反演标记已被编程为经标记的值,则反演标记不被编程以便将其保持在经标记的值处。
[0020]因此,根据该方面的方法允许根据更快的方法对新数据进行编程,节省50%到100%的编程持续时间,同时相应地降低功耗。
[0021]作为简化的演示,建议关注最坏情况和平均情况,经典地,最坏情况是先前数据的100%位必须翻转来产生新数据,而平均情况是50%的位必须翻转。使用根据该方面的方法,当经典的最坏情况发生时,例如对新数据的0xFF而不是先前数据的0x00编程,则将新数据互补反演导致除了对反演标记进行编程之外的零编程操作。然后很容易理解的是,根据该方面的方法的最坏情况是在存储器位置中翻转50%的位,这对应于经典的平均情况。
[0022]基于必须翻转的位数的该简化演示表明,当两个类型的位翻转(从0翻转到1和从1翻转到0)具有相同的持续时间时,编程持续时间减少。例如,当位状态以如下文定义的差分方式存储时,就是这种情况。
[0023]但是,将位从0翻转到1(将位“置位”)和将位从1翻转到0(将位“复位”)可以有不同的持续时间。例如,当位状态以如下文定义的绝对方式存储时就是这种情况。
[0024]根据一个实施例,每个按位编程操作包括:使用具有置位脉冲持续时间的置位脉冲或者使用具有复位脉冲持续时间的复位脉冲,并且计算第一量化和第二量化各自包括对按位编程操作的相应第一突发和第二突发之间的置位脉冲和复位脉冲的数目进行计数,以及计算每个相应突发中,与按位编程操作的累积持续时间成比例的相应量化值。
[0025]换言之,该实施例允许考虑置位脉冲相对于复位脉冲的持续时间差,基于对位的置位脉冲和复位脉冲的计数的简单比例计算,更改先前数据来产生新数据或互补反演的新数据。
[0026]与累积持续时间成比例的量化值可以例如通过将较短(或相应较长)脉冲的计数值添加到乘以持续时间因子的较长(或相应较短)脉冲的计数值来获得。
[0027]因此,如果互补反演的新数据需要更多的编程操作,这些编程操作呈现出比非反演的新数据所需的编程操作更短的累积持续时间,则最快且功耗最低的编程步骤被执行。
[0028]根据一个实施例,计算第一量化和第二量化考虑了反演标记的编程操作。
[0029]根据一个实施例,当存储器位置尺寸小于存储器字尺寸并且当必须对专用于存储器字的反演标记进行编程时,计算第一量化和第二量化考虑将存储器位置之外属于存储器字的所有其他位反演的编程操作;并且编程步骤包括将所有这些其他位编程在它们的互补反演状态。
[0030]根据一个实施例,每个位状态以具有置位状态或复位状态的绝对方式存储。
[0031]根据一个实施例,每个位状态使用定向的互补状态对,以差分方式存储,每个编程操作包括使用置位脉冲和复位脉冲两者,并且其中判定步骤由等效的简化判定步骤替换,判定步骤包括:
[0032]计算新数据和先前数据之间分别不同位的第一数目,以及
[0033]测试第一数目是否高于存储器字尺寸的50%。
[0034]在以差分方式存储位的情况下,每个编程操作包括置位脉冲和复位脉冲,每个编程操作的持续时间因此相同。因此,代替计算表示相应编程操作的累积持续时间的量化,先前数据中更改来产生新数据的位的数目的简单计数允许选择更快的编程步骤。
[0035]根据一个实施例,方法包括:读取存储器字的存储器位置处存储的数据,读取包括感测存储器位置中存储的数据的位,并且如果专用于存储器字的反演标记具有经标记的值,则将感测数据的每个位反演为相应的互补位。
[0036]根据一个实施例,感测数据包括:对存储器位置中存储的数据和专用反演标记执行、并且在将感测数据的位状态反演之前执行的纠错码算法。
[0037]根据一个实施例,编程步骤包括,如果计算步骤的测试不为真,则仅对与先前数据的相应位不同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:接收将新数据存储在按位可编程非易失性存储器的存储器位置处的请求;感测所述按位可编程存储器的所述存储器位置处存储的数据;将感测的所述数据的位与所述新数据的位进行比较;生成以下项之间的成本差异指示:按位编程操作的第一突发,与对所述新数据中不同于感测的所述数据的位的位进行编程相关联;以及按位编程操作的第二突发,与对所述新数据的互补反演中不同于感测的所述数据的位的位进行编程相关联;以及基于生成的所述成本差异指示,执行按位编程操作的所述第一突发或按位编程操作的所述第二突发中的一个突发。2.根据权利要求1所述的方法,包括:生成按位编程操作的所述第一突发的第一量化;生成按位编程操作的所述第二突发的第二量化;比较所述第一量化与所述第二量化;以及基于所述第一量化与所述第二量化的比较,执行按位编程操作的所述第一突发或按位编程操作的所述第二突发中的一个突发。3.根据权利要求2所述的方法,其中,按位编程操作包括:使用具有置位脉冲持续时间的置位脉冲或使用具有复位持续时间的复位脉冲;生成所述第一量化包括:确定与按位编程操作的所述第一突发相关联的置位脉冲的数目和复位脉冲的数目,以及基于与按位编程操作的所述第一突发相关联的置位脉冲的数目和复位脉冲的数目,来确定与按位编程操作的所述第一突发相关联的累积持续时间;以及生成所述第二量化包括:确定与按位编程操作的所述第二突发相关联的置位脉冲的数目和复位脉冲的数目,以及基于与按位编程操作的所述第二突发相关联的置位脉冲的数目和复位脉冲的数目,来确定与按位编程操作的所述第二突发相关联的累积持续时间。4.根据权利要求1所述的方法,其中生成所述成本差异指示考虑了与反演标记的编程相关联的编程操作。5.根据权利要求1所述的方法,其中当所述存储器位置的尺寸小于包括所述存储器位置的存储器字的尺寸、并且与所述存储器字相关联的反演标记必须被编程时,所述成本差异考虑用于将所述存储器位置之外属于所述存储器字的所有其他位反演的编程操作,并且所述编程突发包括将所有其他位编程为互补反演状态。6.根据权利要求1所述的方法,其中位状态以具有置位状态或复位状态的绝对方式存储。7.根据权利要求1所述的方法,其中,位状态使用定向的互补状态对以差分方式存储;编程操作包括使用置位脉冲和复位脉冲两者;以及生成所述成本差异指示包括:对所述新数据和感测的所述数据之间的不同位的数目进行计数;以及
确定所述新数据与感测的所述数据之间的所述不同位的数目是否高于所述按位可编程存储器的存储字尺寸的50%。8.根据权利要求1所述的方法,包括:读取存储器字的存储器位置处存储的数据,所述读取包括感测所述存储器位置中存储的数据位,并且如果与所述存储器字相关联的反演标记具有标记值,则将感测的所述数据的每个位反演为相应互补位。9.根据权利要求8所述的方法,其中感测数据包括:在将感测的所述数据的所述位状态反演之前,对所述存储器字中存储的所述数据和所述反演标记应用纠错码算法。10.根据权利要求1所述的方法,其中编程操作的所述第一突发包括:仅对所述新数据中与感测的所述数据的相应位不同的位进行按位编程,以及将专用于所述存储器字的反演标记编程或保持在非标记值处。11.一种设备,包括:按位可编程非易失性存储器阵列;以及存储器管理电路装置,与所述按位可编程存储器阵列耦合,其中所述存储器管理电路装置在操作中:接收在所述按位可编程非易失性存储器阵列的存储器位置处存储新数据的请求;感测所述按位可编程存储器阵列的所述存储器位置处存储的数据;将感测的所述数据的位与所述新数据的位进行比较;生成以下项之间的成本差异指示:按位编程操作的第一突发,与对所述新数据中不同于感测的所述数据的位的位进行编程相关联;以及按位编程操作的第二突发,与对所述新数据的互补反演中不同于感测的所述数据的位的位进行编程相关联;以及基于生成的所述成本差异指示,执行按位编程操作的所述第一突发或按位编程操作的所述第二突发中的一个突发。12.根据权利要求11所述的设备,其中所述存储器管理电路装置在操作中:生成按位编程操作的所述第一突发的第一量化;生成按位编程操作的所述第二突发的第二量化;将所述第一量化与所述第二量化进行比较;以及基于所述第一量化与所述第二量化的所述比较,来执行按位编程操作的所述第一突发或按位编程操作的所述第二突发中的一个突发。13.根据权利要求12所述的设备,其中,按位编程操作包括:使用具有置位脉冲持续时间的置位脉冲或使用具有复位持续时间的复位脉冲;生成所述第一量化包括:确定与按位编程操作的所述第一突发相关联的置位脉冲的数目和复位脉冲的数目,以及基于与按位编程操作的所述第一突发相关联的置位脉冲的数目和复位脉冲的数目,来确定与按位编程操作的所述第一突发相关联的累积持续时间;以及生成所述第二量化包括:确定与按位编程操作的所述第二突发相关联的置位脉冲的数目和复位脉冲的数目,以及基于与按位编程操作的所述第二突发相关联的置位脉冲的数目和复位脉冲的数目,来确定与按位编程操作的所述第二突发相关联的累积持续时间。
14.根据权利要求11所述的设备,其中生成所述成本差异指示考虑了与反演标记的编程相关联的编程操作。15.根据权利要求11所述的设备,其中当所述存储器位置的尺寸小于包括所述存储器位置的存储器字...

【专利技术属性】
技术研发人员:L
申请(专利权)人:意法半导体股份有限公司
类型:发明
国别省市:

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

1