一种基于纠错码的高速忆阻器编程系统和方法

文档序号:30328573发布日期:2022-06-08 05:00阅读:193来源:国知局
一种基于纠错码的高速忆阻器编程系统和方法

1.本发明属于存储器技术领域,具体涉及一种基于纠错码的高速忆阻器编程系统和方法。


背景技术:

2.随着大数据时代的到来以及半导体技术的不断发展,工艺节点不断缩小,存储器件占比日渐增大。易失性存储器,为了保持存储的数据不丢失,仍然需要给存储器提供电源信号,这会导致额外的较大的单元漏电功耗。rram(resistive random access memory)是一种基于忆阻器件工作原理的新型非易失存储器。忆阻器具有结构简单,与现有 cmos 工艺兼容,高微缩性,多值存储,易于 3d 集成等优点。
3.在对存储器进行写操作时,通过在忆阻器两个极板上施加不同极性的电压,可实现忆阻器在不同状态间的转换。其中,阻变层由低阻态向高阻态变化称为复位操作或擦除操作(reset),由高阻态向低阻态变化称为置位操作或编程操作(set)。通常,刚制备的rram器件缺陷很少,其初始状态呈现高阻态(hrs,high resistance state)。在 rram 正常编程之前需要进行高压操作激活 rram,这个操作称为形成操作(forming);在set操作时,在忆阻器的上极板施加一大数值电压而下极板接地,阻变层里产生了缺陷(金属阳离子或氧阴离子),导电缺陷连通形成了导电细丝,rram器件从高阻态变为低阻态;在reset操作时,进行负电压扫描,电压增大至临界值vreset时,阻变层中导电细丝断裂,器件从低阻态转变为高阻态,发生reset转变。耐受性(endurance)好的rram器件,能够多次重复连续执行set和reset转变。
4.对于写操作,由于工艺和使用环境的限制,忆阻器器件单元之间的工艺性质存在差异,不同忆阻器件单元写操作成功用时不一致,用时最短的单元和用时最长的单元写时间差异可达两个数量级以上;写操作时间越长,写操作成功概率越高。对于多比特数据,为确保写成功概率,现有写操作需保证所有比特位对应的存储单元分别存储正确,因而写时间取决于写得最慢的那个单元。以最长单元写时间为基准,严重增加忆阻器阵列写操作总用时。另外,写操作的不匹配将导致较小的感测裕度以及大量的时间消耗,从而损害输出可靠性。
5.综上所示,将rram用于存储数据,如果需要数据被可靠且正确地写入存储单元,需要以最长写入时间的单元的写操作时间作为基准,这会带来大量延时,且存储单元的比特位越多,延时现象越严重。


技术实现要素:

6.本发明的目的是提供一种写操作速度快、功耗低、数据存储可靠性好的基于纠错码的高速忆阻器编程系统和方法。
7.本发明第一方面提供一种基于纠错码的忆阻器编程系统,以提升忆阻器写操作速度,系统包括:编码电路,写电路,行选择器,读电路,忆阻器阵列,译码电路;其中:
所述编码电路,在输入数据写入忆阻器阵列之前,用于对输入数据进行ecc编码,以提高数据可靠性;所述写电路,与编码电路和忆阻器阵列相连,用于将片上或者外部得到的数据以及编码电路得到的校验位以较高速度写入存储器中;所述行选择器,通过施加选通电压选择需要开启的行;所述读电路,用于将存储于忆阻器阵列中且被选中的数据读出;所述忆阻器阵列,也称存储阵列,用于存储数据信息以及ecc编码得到的校验位信息;所述译码电路,与读电路相连,用于对读电路所读出的数据进行ecc译码操作。
8.可选地,所述写电路,将采用一个合适而非最长的写入时间为基准写入时间。
9.可选地,所述忆阻器阵列,其结构中包括电源线、位线、子线和阻变存储单元。
10.可选地,所述译码电路,其可实现对存储数据的解析,判断是否有存储错误的情况,若有错误,将改正后的值通过写电路在系统空闲时重新写回忆阻器存储器阵列。
11.本发明第二方面,提供一种基于上述忆阻器编程系统的忆阻器编程方法,具体步骤为:(1)片上或者外部将输入数据传送到本发明系统;(2)编码电路接收到数据后,对输入数据进行ecc编码,得到校验位,并传送到写电路;(3)写电路将片上或者外部得到的输入数据以及编码电路得到的校验位写到忆阻器中;其中,对于set操作,控制子线选通所需选择的行,并在目标忆阻器的位线加上写电压,并将该忆阻器单元的源线置0;对于reset操作,控制子线选通所需选择的行,在目标忆阻器单元的源线上加一写电压并对位线置0;写时间以忆阻器单元写成功累计概率较大的写时间而非最长写时间为准;数据写入忆阻器阵列后,忆阻器阵列存储该数据;(4)读电路将所选中的数据从忆阻器阵列中读出;对于读操作,控制子线选通所需选择的行,在位线上加读电压,再在源线上读取相应的电流大小;(5)译码电路得到读电路读出的数据,并对其进行ecc译码操作,判断是否有存储错误的情况,若有错误,将改正后的值通过写电路重新写回忆阻器存储器阵列;若译码电路得出存储结果没有错误,即获得正确输出。
12.本发明在进行忆阻器编程操作时,利用纠错码提升忆阻器的写操作速度。在数据写入忆阻器阵列之前,对输入数据进行ecc编码,得到校验位。将校验位和数据同时存入忆阻器存储阵列。读电路同时读出数据和校验位,并将得到的校验位送进译码电路进行译码。根据校验位判断写入的数据是否正确,若不正确,则在系统空闲态时将该数据及对应的校验位重新写入存储阵列,否则表明获得正确输出。
13.本发明采用纠错码,以较小的写操作时间为基准(而非传统写操作以最慢存储单元用时为基准)进行写入操作,允许在写操作时在容错范围内出现少量写失误,随后通过编码电路和译码电路得到校验位,以此检测忆阻器阵列中的存储单元值并进行纠正。本发明能极大提高忆阻器写操作速度,从而实现忆阻器阵列低写操作能耗和较高的存储数据可靠性。
附图说明
14.附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。
15.图 1 为现有技术中忆阻器的写时间与写成功累计概率与写操作时间关系示意图。
16.图 2 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的一组存储单元。
17.图 3 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的整体结构框图。
18.图 4 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的数据流图。
19.图 5 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的流程图。
具体实施方式
20.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
21.需要说明的是,本发明各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
22.图 1 为现有技术中忆阻器的写时间与写成功累计概率与写操作时间关系示意图。可以得到,由于工艺和使用环境的限制,忆阻器器件之间工艺性质有较大波动。对于写操作,不同忆阻器件单元写操作成功用时不一致,用时最短的单元和用时最长的单元写时间差异可达两个数量级以上,整体的趋势是写操作时间越长,写操作成功概率越高。当写入时间很长时,操作成功概率增加的速度随写时间的增加变缓,如能设计一个高容错率的系统,写时间可降低半个数量级。
23.图 2 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的一组存储单元200。其中201、202、203、204均为忆阻器,每一个忆阻器通过高阻态或者低阻态的形式存储1比特数值,在本实施例中该四个忆阻器为存储一个数据的一组存储器(本实施例中一个数据占4比特);205、206、207、208均为晶体管,其中,201与205、202与206、203与207、204与208分别组成了1t1r(1个晶体管和一个忆阻器)存储单元结构。在本实施例中,对于现有写操作,以写入数据为1001为例,203为写入时间最长的一个忆阻器,则现有写操作将以203的写入时间为总写入时间,在实际操作中,将以整个忆阻器阵列中写入时间最长的写入单元为基准写入时间。由于写入操作进行了足够长的时间,写入操作完成后四个存储器均写入成功,由于203应当写入“0”,故203忆阻器将处于高阻态(hrs)。对于采用本发明的此实施例,使用纠错码后,可以选择一个合适的写入时间而非写操作耗时最长的单元的写入时间作为基准写时间。图2中,209为写操作最慢的忆阻器单元,由于采用纠错码,则不需要以其
写操作时间为基准写入时间。由于缩短了写入时间,提高了写入速度,有一定概率209的写操作会出现错误,如图,209的写入数据为“0”,应处于高阻态,但由于写入时间不够,现如图2,处于低阻态(lrs)。对于由写入时间不足造成的写入错误,将由ecc译码电路完成判断和纠错操作,找到存储错误的数据位,并在系统空闲时,将正确结果写入忆阻器阵列。
24.图 3 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的整体结构框图300。
25.包括:电源电压(vdd)、读电压(vread)、写电压(vwrite)、选择电压(vsel)、写电路、编码电路、行选择器、忆阻器阵列、读电路和译码电路。
26.图 4 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的数据流图400。具体包括以下步骤:步骤1,编码电路接收到k位输入数据后,对输入数据进行ecc编码,得到

k位的校验位,并传送到写电路;步骤2,写电路输入数据以及编码电路得到的校验位共(k+

k位)一并写入忆阻器阵列;写时间以忆阻器单元写成功累计概率较大的写时间而非最长写时间为准;步骤3,忆阻器阵列中存储的数据存在错误数据位;步骤4,读电路将所选中的数据从忆阻器阵列中读出,读出的数据与存储数据一致,含有错误数据位;步骤5,译码电路得到读电路读出的数据,并对其进行ecc译码操作,通过k位数据位生成新的校验位,并与读取的

k位校验位进行比较;若两者相同,则不存在错误,可直接输出;此实施例存在错误,通过比较结果译码电路检测错误位的位置,纠正错误;步骤6,在系统空闲时,将改正后的数据位通过写电路重新写回忆阻器存储器阵列;即重复步骤2。
27.图 5 为本发明优选实施例提供的基于纠错码的高速忆阻器编程方法的流程图。具体包括以下步骤:步骤1,输入数据分别传入写电路和编码电路;步骤2,编码电路对输入数据进行ecc编码,得到校验位,传入写电路;步骤3,写电路以较高写速度将步骤1中的输入数据步骤2中的校验位一起写入忆阻器阵列;步骤4,读电路从忆阻器中读数据;步骤5,译码电路得到步骤4中的读出数据;步骤6,译码电路经过对数据位的译码得到新的校验位,判断所得校验位是否与存储校验位一致;如一致,则跳到步骤9;如不一致,则进行步骤7;步骤7,译码电路根据校验位对比结果纠出错误的比特位;步骤8,待系统空闲,重新重复步骤3,将更新后的数据写入忆阻器;步骤9,得出正确输入。
28.综上所述,本发明为提高忆阻器编程速度,选取合适而非最长的存储单元写入时间为基准,若较慢的存储单元在较短写持续电位下写入错误,可通过纠错码编码解码电路进行纠错。该系统采用纠错码,具有一定容错率,保证了数据的准确性,在系统空闲时,再将改正数据写入存储阵列,提高写速度的同时降低了写功耗。本发明可改善当前忆阻器写电
路速度低的问题,并提高忆阻器数据存储的可靠性。
29.本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1