存储阵列的操作方法和存储器的制造方法_2

文档序号:9376637阅读:来源:国知局
大器1N+1的输出端;……第N个异或计算器2N的第一输入端连接第N个灵敏放大器IN的输出端,第N个异或计算器2N的第二输入端连接第N+1个灵敏放大器1N+1的输出端。
[0048]所述存储单元包括:行选晶体管和电熔丝,所述行选晶体管的漏极连接所述电熔丝的第一端,所述行选晶体管的源极接地。所述存储器还可以包括:M条字线、N+1个列选晶体管和N+1条位线。
[0049]所述M条字线包括:第I条字线WLl、第2条字线WL2、…、第M条字线WLM。
[0050]所述N+1个列选晶体管包括:第I个列选晶体管Ml、第2个列选晶体管M2、第3个列选晶体管M3、...、第N个列选晶体管丽、第N+1个列选晶体管MN+1,所述N+1个列选晶体管的源极均连接电源电压VDD。
[0051]所述N+1条位线包括:第I条位线BLl、第2条位线BL2、第3条位线BL3、…、第N条位线BLN、第N+1条位线BLN+1,所述N+1条位线与所述N+1个列选晶体管的漏极一一对应连接。
[0052]所述M条字线与所述M行存储单元一一对应,所述N+1条位线与所述N+1列存储单元一一对应,每个存储单元均对应一条字线和一条位线。存储单元中的行选晶体管的栅极连接与所述存储单元对应的字线。存储单元中的电熔丝的第二端连接与所述存储单元对应的位线。
[0053]以第I行I列的存储单元10为例,存储单元10对应第I条字线WLl和第I条位线BLl。存储单元10包括行选晶体管MO和电熔丝F0,行选晶体管MO的栅极连接第I条字线WL1,行选晶体管MO的漏极连接电熔丝FO的第一端,行选晶体管MO的源极接地GND,电熔丝FO的第二端连接第I条位线BLl。
[0054]对应上述实施例所述的存储阵列,本发明提供一种存储阵列的操作方法,如图4所示,所述操作方法包括:
[0055]步骤SI,对第m行数据存储单元进行第一编程操作或第二编程操作,I ^m^M;
[0056]步骤S2,对所述第m行数据存储单元进行读取操作。
[0057]所述步骤SI和步骤S2中的数据存储单元为所述存储阵列中第I行至第M行存储单元的第I列至第N列的存储单元。
[0058]如图5所示,步骤SI中的对第m行数据存储单元进行第一编程操作包括:
[0059]步骤S111,将第m行数据存储单元对应的第一待编程数据进行取反操作以获得所述第m行数据存储单元对应的第二待编程数据;
[0060]步骤SI 12,基于所述第m行数据存储单元对应的第二待编程数据对所述第m行数据存储单元进行编程操作;
[0061]步骤S113,将所述第m行数据存储单元对应的标识数据设置为数据I。
[0062]所述第m行数据存储单元对应的第一待编程数据为需要对第m行数据存储单元进行编程操作的原始数据,每个存储单元均对应一个第一待编程数据。将第m行数据存储单元对应的第一待编程数据进行取反操作是指:将第m行I列至第m行N列数据存储单元对应的N个第一待编程数据均进行取反操作。所述标识数据可以保存至标识存储单元中。
[0063]如图6所示,步骤S2包括:
[0064]步骤S21,获得所述第m行数据存储单元保存的已编程数据;
[0065]步骤S22,将所述已编程数据和所述第m行数据存储单元对应的标识数据进行异或运算;
[0066]步骤S23,将所述异或运算后的结果作为所述第m行数据存储单元的读取结果。
[0067]所述步骤S21可以由数据获得单元来执行,步骤S22和步骤S23可以由异或计算器来执行。
[0068]所述对第m行数据存储单元进行第一编程操作可以在满足以下条件时执行:基于第m行η列数据存储单元对应的第一待编程数据对所述第m行η列数据存储单元进行编程操作失败,I =? n ^ No
[0069]对存储单元进行编程操作时,可以将数据I或数据O编程至该存储单元。当待编程数据为数据I时,需要对存储单元进行烧写操作。本实施例所述的编程操作失败可以指烧写操作失败。所述数据I或数据O可以为二进制或十六进制数据。
[0070]结合图3和图7,对存储阵列中第I行I列的存储单元10进行烧写操作时,对第I条字线WLl和第I个列选晶体管Ml的栅极施加高电平电压,使得行选晶体管MO和列选晶体管Ml均导通。导通电流从列选晶体管Ml的源极经过电熔丝FO流向行选晶体管MO的源极,当电流持续时间和电流大小足够大时,电熔丝H)会被熔断,即将数据I写入存储单元10。当待编程数据为数据O时,可以不对存储单元进行烧写操作,该存储单元中的电熔丝不会被熔断,则将数据O编程至该存储单元。在实际情况中,经过烧写操作后的电熔丝不会被真的熔断,而是电阻值变得很大。本实施例将电阻值大于电阻阈值的电熔丝称为熔断的电熔丝,所述电阻阈值可以根据实际情况进行设定。
[0071]结合图3和图8,对存储阵列中第I行I列的存储单元10进行读取操作时,对第I条字线WLl施加高电平电压,对第I个列选晶体管Ml的栅极施加低电平电压,使得行选晶体管MO导通而列选晶体管Ml截止。与电熔丝FO的第二端连接的第I个灵敏放大器11产生电流,该电流经过电熔丝H)流到行选晶体管MO的源极,第I个灵敏放大器11检测电熔丝FO的第二端的电压并通过计算获得电熔丝FO的电阻值。根据电熔丝FO的电阻值可以获得存储单元10保存的已编程数据。当电熔丝FO的电阻值大于电阻阈值时,获得存储单元10保存的已编程数据为数据I ;当电熔丝H)的电阻值小于或等于电阻阈值时,获得存储单元10保存的已编程数据为数据O。
[0072]从上述编程操作和读取操作的过程可以看出,当编程操作过程中流过电熔丝的电流大小不够大或者持续时间不够长时,电熔丝就无法被熔断,则在读取操作过程中获得的读取数据是错误的,该情况可以被视为烧写操作失败。
[0073]进行编程操作失败的第m行η列数据存储单元对应的第一待编程数据可以为所述第m行数据存储单元对应的第一待编程数据中的第一个需进行烧写操作的数据。例如,第I行I列数据存储单元对应的第一待编程数据为“0”,第I行2列数据存储单元对应的第一待编程数据为“1”,第I行3列数据存储单元对应的第一待编程数据为“0”,第I行4列数据存储单元对应的第一待编程数据为“O”。所述第I行2列数据存储单元对应的第一待编程数据“I”为第一个需进行烧写操作的数据,对第I行2列数据存储单元进行烧写操作失败时,则对第m行数据存储单元进行第一编程操作。
[0074]为了检验每个数据是否编程操作成功,可以在每个数据编程操作结束后进行读取操作进行校验。即,对一存储单元进行编程操作后,对该存储单元进行读取操作,以检验该存储单元的编程操作是否成功。
[0075]下面通过举例对上述步骤作进一步说明。
[0076]存储阵列的第I行I列至第I行8列的存储单元为数据存储单元,第I行9列的存储单元为标识存储单元,需要对所述第I行I列至第I行8列的存储单元进行编程操作的原始数据为“01001000”,则第I行数据存储单元对应的第一待编程数据为“01001000”。
[0077]基于第一待编程数据“01001000”依次对第I行I列至第I行8列数据存储单元进行编程操作,实际上,只需只对第I行2列和第I行5列的数据存储单元进行烧写操作。假设,对第I行2列数据存储单元进行烧写操作后进行读取操作,读取结果是第I行2列数据存储单元中保存的已编程数据为O,即第I行2列数据存储单元中的电熔丝未被熔断,则继续执行以下步骤:
[0078]将第一待编程数据“01001000”进行取反操作,获得第I行数据存储单元对应的第二待编程数据“10110111”;
[0079]将第二待编程数据“10110111”编程至第I行的数据存储单元;
[0080]将标识数据“ I ”编程至第I行9列的标识存储单元。
[0081]执行将第二待编程数据“10110111”编程至第I行的数据存储单元的步骤时,可以只对第I行I列、第I行3列、第I行4列、第I行6列、第I行7列、第I行8列的数据存储单元以及第I行9列的标识存储单元进行烧写操作。
[0082]对所述第I行数据存储单元进行读取操作时,执行以下步骤:
[0083]获得第I行数据存储单元保存的已编程数据为“10110111” ;
[0084]将已编程数据“10110111”和第I行数据存储单元对应的标识数据“ I”进行异或运算;
[0085]将异或运算后的结果“01001000”作为第I行数据存储单元的读取结果。
[0086]从上述举例可以看出,虽然基于第一待编程数据对第I行数据存储单元编程操作过程中出现了编程操作失败,但是执行本实施例提供的第一编程操作后,可以获得正确的读取结果,提高了存储器的良率。
[0087]所述对第m行数据存
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1