具有差分存储单元的随机码产生器及相关控制方法与流程

文档序号:17493725发布日期:2019-04-23 20:58阅读:164来源:国知局
具有差分存储单元的随机码产生器及相关控制方法与流程

本发明是一种随机码产生器及相关控制方法,且特别是有关于一种具有差分存储单元的随机码产生器及相关控制方法。



背景技术:

众所周知,非易失性存储器在断电之后仍旧可以保存其数据内容。一般来说,当非易失性存储器制造完成并出厂后,使用者即可以编程(program)非易失性存储器的存储单元,进而将数据记录在非易失性存储器的存储单元中。

参照图1a与图1b,其所图示为已知的浮动栅极型差分存储单元(floatinggatetypedifferentialcell)电路图以及偏压示意图。浮动栅极型差分存储单元10包括:两个子存储单元(subcell)12、14。其中,子存储单元12、14的结构相同。

浮动栅极型差分存储单元10具有四个端点a1~a4,分别连接至源极控制线(sourcecontrolline)cls、字线wl、比特线bl1与比特线bl2。其中,两个选择晶体管ms1、ms2的源极连接至端点a1,两个选择晶体管ms1、ms2的栅极连接至端点a2。浮动栅极晶体管mf1的漏极连接至端点a3,栅极为浮接,源极连接至选择晶体管ms1的漏极。浮动栅极晶体管mf2的漏极连接至端点a4,栅极为浮接,源极连接至选择晶体管ms2的漏极。

于编程动作(pgm)时,浮动栅极型差分存储单元10中的两个子存储单元12、14必须被编程为不同的状态。如图1b所示,当选择电压vse1(例如,接地电压(0v))提供至字线wl与比特线bl1、且编程电压vpp提供至源极控制线cls与比特线bl2时,选择晶体管ms1、ms2开启(turnon)。此时,子存储单元12产生编程电流且子存储单元14未产生编程电流。因此,浮动栅极晶体管mf1的浮动栅极注入热载流子(hotcarrier),使得子存储单元12被编程为开启状态(onstate);浮动栅极晶体管mf2的浮动栅极没有注入热载流子,使得子存储单元14被编程为断开状态(offstate)。此外,当子存储单元12为开启状态(onstate)且子存储单元14为断开状态(offstate)时,定义浮动栅极型差分存储单元10被编程为第一存储状态(firststoragestate)。

当然,浮动栅极型差分存储单元10也可以利用其他的偏压方式来编程为第一存储状态。举例来说,将编程电压vpp提供至源极控制线cls,将接地电压(0v)提供至字线wl与比特线bl1,并将比特线bl2浮接(floating)时,浮动栅极型差分存储单元10也可被编程为第一存储状态。

此外,当选择电压vse1提供至字线wl与比特线bl2、且编程电压vpp提供至源极控制线cls与比特线bl1时,选择晶体管ms1、ms2开启(turnon)。此时,子存储单元14产生编程电流且子存储单元12未产生编程电流。因此,浮动栅极晶体管mf2的浮动栅极注入热载流子(hotcarrier),使得子存储单元14被编程为开启状态(onstate);浮动栅极晶体管mf1的浮动栅极没有注入热载流子,使得子存储单元12被编程为断开状态(offstate)。此外,当子存储单元12为断开状态(offstate)且子存储单元14为开启状态(onstate)时,定义浮动栅极型差分存储单元10被编程为第二存储状态(secondstoragestate)。

当然,浮动栅极型差分存储单元10也可以利用其他的偏压方式来编程为第二存储状态。举例来说,将编程电压vpp提供至源极控制线cls,将接地电压(0v)提供至字线wl与比特线bl2,并将比特线bl1浮接(floating)时,浮动栅极型差分存储单元10也可被编程为第二存储状态。

另外,于进行读取动作(read)时,选择电压vse1提供至字线wl、比特线bl1与比特线bl2,且读取电压(readvoltage)vr提供至源极控制线cls。假设浮动栅极型差分存储单元10为第一存储状态时,则子存储单元12会输出较大的读取电流(readcurrent)至比特线bl1,而则子存储单元14会输出几乎为零的读取电流至比特线bl2。

反之,如果浮动栅极型差分存储单元10为第二存储状态时,则子存储单元12会输出几乎为零的读取电流至比特线bl1,而子存储单元14会输出较大的读取电流至比特线bl2。

换言之,于读取动作时,可以比较比特线bl1与比特线bl2上的读取电流大小,来判断浮动栅极型差分存储单元10的存储状态。

另外,图1a中的每一个子存储单元12、14都是由二个晶体管所构成。当然,子存储单元也由更多个晶体管来构成。举例来说,在选择晶体管与浮动栅极晶体管之间连接一个跟随晶体管(followingtransistor),跟随晶体管的栅极连接至跟随栅线(followinggateline),源极连接至选择晶体管漏极,漏极连接至浮动栅极晶体管的源极。

此外,除了利用p型晶体管构成子存储单元12、14之外,也可以利用n型晶体管来构成子存储单元,并组合成浮动栅极型差分存储单元。

参照图2a与图2b,其所图示为已知的反熔丝型差分存储单元(antifusetypedifferentialcell)电路图以及偏压示意图。反熔丝型差分存储单元20包括:两个子存储单元(subcell)22、24。其中,子存储单元22、24的结构相同。

反熔丝型差分存储单元20具有四个端点b1~b4,分别连接至反熔丝控制线(antifusecontrolline)claf、字线wl、比特线bl1与比特线bl2。其中,选择晶体管ms1的源极连接至端点b3,栅极连接至端点b2。选择晶体管ms2的源极连接至端点b4,栅极连接至端点b2。反熔丝晶体管ma1的漏极为浮接,源极连接至选择晶体管ms1的漏极,栅极连接至端点b1。反熔丝晶体管ma2的漏极为浮接,源极连接至选择晶体管ms2的漏极,栅极连接至端点b1。

相同地,于编程动作(pgm)时,反熔丝型差分存储单元20中的两个子存储单元22、24必须被编程为不同的状态。如图2b所示,当选择电压vse1(例如,3.3v)提供至字线wl、编程电压vpp提供至反熔丝控制线claf与比特线bl2、且接地电压(0v)提供至比特线bl1时,选择晶体管ms1、ms2开启(turnon)。此时,子存储单元22产生编程电流,造成反熔丝晶体管ma1的栅极氧化层破裂(rupture),子存储单元22被编程为具有低电阻值的开启状态(onstate)。另外,且子存储单元24未产生编程电流,使得反熔丝晶体管ma2的栅极氧化层不会破裂,子存储单元24被编程为具有高电阻值的断开状态(offstate)。此外,当子存储单元22为开启状态(onstate)且子存储单元24为断开状态(offstate)时,定义反熔丝型差分存储单元20被编程为第一存储状态(firststoragestate)。

当然,反熔丝型差分存储单元20也可以利用其他的偏压方式来编程为第一存储状态。举例来说,将编程电压vpp提供至反熔丝控制线claf,将选择电压vse1提供至字线wl,将接地电压提供至比特线bl1,并将比特线bl2浮接(floating)时,反熔丝型差分存储单元20也可被编程为第一存储状态。

当选择电压vse1提供至字线wl、编程电压vpp提供至反熔丝控制线claf与比特线bl1、且接地电压(0v)提供至比特线bl2时,选择晶体管ms1、ms2开启(turnon)。此时,子存储单元24产生编程电流,造成反熔丝晶体管ma2的栅极氧化层破裂(rupture),子存储单元24被编程为具有低电阻值的开启状态(onstate)。另外,且子存储单元22未产生编程电流,使得反熔丝晶体管ma1的栅极氧化层不会破裂,子存储单元22被编程为具有高电阻值的断开状态(offstate)。此外,当子存储单元24为开启状态(onstate)且子存储单元22为断开状态(offstate)时,定义反熔丝型差分存储单元20被编程为第二存储状态(secondstoragestate)。

当然,反熔丝型差分存储单元20也可以利用其他的偏压方式来编程为第二存储状态。举例来说,将编程电压vpp提供至反熔丝控制线claf,将选择电压vse1提供至字线wl,将接地电压提供至比特线bl2,并将比特线bl1浮接(floating)时,反熔丝型差分存储单元20也可被编程为第二存储状态。

另外,于进行读取动作(read)时,选择电压vse1提供至字线wl、接地电压(0v)提供至比特线bl1与比特线bl2,且读取电压(readvoltage)vr提供至反熔丝控制线claf。假设反熔丝型差分存储单元20为第一存储状态时,则子存储单元22会输出较大的读取电流(readcurrent)至比特线bl1,而则子存储单元24会输出几乎为零的读取电流至比特线bl2。

反之,如果反熔丝型差分存储单元20为第二存储状态时,则子存储单元22会输出几乎为零的读取电流至比特线bl1,而子存储单元24会输出较大的读取电流至比特线bl2。

换言之,于读取动作时,可以比较比特线bl1与比特线bl2上的读取电流大小,来判断反熔丝型差分存储单元20的存储状态。

另外,图2a中的每一个子存储单元22、24都是由两个晶体管所构成。当然,子存储单元也由更多个晶体管来构成。举例来说,在选择晶体管与反熔丝晶体管之间连接一个跟随晶体管(followingtransistor),跟随晶体管的栅极连接至跟随栅线(followinggateline),源极连接至选择晶体管漏极,漏极连接至反熔丝晶体管的源极。

此外,除了利用n型晶体管构成子存储单元22、24之外,也可以利用p型晶体管来构成子存储单元,并组合成反熔丝型差分存储单元。

请参照图3a与图3b,其所图示为已知的可产生随机码(randomcode)的反熔丝型差分存储单元与偏压示意图,其公开于美国专利号us9,613,714。

如图3a所示,反熔丝型差分存储单元c1包括两个子存储单元32、34与隔离晶体管o。此外,子存储单元32中包括选择晶体管s1与反熔丝晶体管a1,子存储单元34中包括选择晶体管s2与反熔丝晶体管a2。

在反熔丝型差分存储单元c1中,选择晶体管s1、反熔丝晶体管a1、隔离晶体管o、反熔丝晶体管a2、选择晶体管s2串接于比特线bl1与比特线bl2之间。另外,选择晶体管s1的栅极端连接至字线wl;反熔丝晶体管a1的栅极端连接至反熔丝控制线af1;隔离晶体管o的栅极端连接至隔离控制线ig;反熔丝晶体管a2的栅极端连接至反熔丝控制线af2;选择晶体管s2的栅极端连接至字线wl。

如图3b所示,于编程动作(pgm)时,提供接地电压(0v)至比特线bl1与比特线bl2,提供选择电压vdd至字线wl,提供编程电压vpp至反熔丝控制线af1、af2,提供开启电压von至隔离控制线ig。

于进行编程动作时,选择晶体管s1、s2与隔离晶体管o均开启。而反熔丝晶体管a1以及反熔丝晶体管a2其中之一会改变其状态。举例来说,子存储单元32的反熔丝晶体管a1改变为低电阻值的开启状态(onstate),而子存储单元34的反熔丝晶体管a2维持在高电阻值的断开状态(offstate)。或者,子存储单元34的反熔丝晶体管a2改变为低电阻值的开启状态(onstate),而子存储单元32的反熔丝晶体管a1维持在高电阻值的断开状态(offstate)。

于进行读取动作(read)时,提供接地电压(0v)至比特线bl1与比特线bl2,提供选择电压vdd至字线wl,提供读取电压vr至反熔丝控制线af1、af2,提供关闭电压voff至隔离控制线ig。

于进行读取动作时,选择晶体管s1、s2开启,隔离晶体管o关闭。而反熔丝晶体管a1、a2分别产生读取电流至比特线bl1与比特线bl2。一般来说,具低电阻值(开启状态)的子存储单元所产生的读取电流会远大于具高电阻值(断开状态)的子存储单元所产生的读取电流。举例来说,具低电阻值(开启状态)的子存储单元所产生的读取电流约为10μa,具高电阻值(断开状态)的子存储单元所产生的读取电流约为0.1μa。

换言之,于进行读取动作时,后续的感测电路(sensingcircuit)(未图示)会判断反熔丝晶体管a1、a2的二个读取电流的大小来决定反熔丝型差分存储单元c1的存储状态。举例来说,子存储单元32产生较大的读取电流,子存储单元34产生较小的读取电流。此时,可判断反熔丝型差分存储单元c1为第一存储状态。反之,子存储单元32产生较小的读取电流,子存储单元34产生较大的读取电流。此时,可判断反熔丝型差分存储单元c1为第二存储状态。

由于反熔丝晶体管a1、a2的制造变异,于编程动作时,并无法预测哪个反熔丝晶体管a1、a2会改变其状态。因此,编程后的反熔丝型差分存储单元c1,其存储状态即可作为随机码(randomcode)的一个比特(bit)。

另外,多个反熔丝型差分存储单元可组成差分型存储单元阵列(differentialcellarray)。而对差分型存储单元阵列进行编程动作后,根据多个反熔丝型差分存储单元的存储状态即可成为随机码。举例来说,8个编程后的反熔丝型差分存储单元,其8个存储状态即可成为一个比特组(byte)的随机码。

美国专利号us9,613,714中公开更多不同结构的反熔丝型差分存储单元(antifusetypedifferentialcell)。这些反熔丝型差分存储单元均利用两个反熔丝晶体管的制造变异来产生随机码(randomcode)的一个比特(bit)。

于进行编程动作(pgm)时,编程电压vpp会同时提供至反熔丝控制线af1、af2。在理想状况下时,仅会造成一个反熔丝晶体管的栅极氧化层破裂而改变其状态,而另一个反熔丝晶体管的栅极氧化层不会破裂而不会改变其状态。

然而,由于编程电压vpp持续提供至反熔丝控制线af1、af2。在少数状况下,会有两个反熔丝晶体管的栅极氧化层均破裂的情形发生。因此,于读取动作(read)时,反熔丝型差分存储单元中的二个反熔丝晶体管所产生的读取电流都很大,使得后续的处理电路(未图示)无法正确的判断反熔丝型差分存储单元的存储状态,因此无法正确地产生随机码。



技术实现要素:

本发明是有关于一种随机码产生器,包括:电源电路,提供供应电压至节点;差分存储单元阵列,包括多个差分存储单元,每个差分存储单元包括两个子存储单元;其中,该差分存储单元阵列还包括第一端经由控制线连接至该节点、第二端点连接至字线、第三端点连接至第一比特线以及第四端点连接至第二比特线;电压检测器,连接至该节点,以检测该节点的节点电压;读写电路,连接至该第一比特线与该第二比特线;以及控制电路,连接至该字线、该电源电路、该电压检测器与该读写电路;其中,于注册动作时,该电源电路将该供应电压提供至该控制线,该读写电路提供接地电压至该第一比特线与该第二比特线,该控制电路提供选择电压至该字线,用以注册该差分存储单元阵列中的选定存储单元,使得该两个子存储单元中的一个被编程为开启状态,且该两个子存储单元中的另一个被抑制编程为断开状态;以及其中,该读写电路判断该选定存储单元的存储状态,并作为随机码的一个比特。

本发明是有关于一种运用上述随机码产生器的控制方法,包括下列步骤:(a)将该电容器充电至供应电压;(b)以该电容器的该供应电压来注册该差分存储单元阵列中的选定存储单元;以及(c)当该节点的该节点电压小于预设电压时,利用该读写电路判定该选定差分存储单元的存储状态,并作为随机码的比特。

附图说明

为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附附图详细说明如下:

图1a与图1b为已知的浮动栅极型差分存储单元电路图以及偏压示意图。

图2a与图2b为已知的反熔丝型差分存储单元电路图以及偏压示意图。

图3a与图3b为已知的可产生随机码的反熔丝型差分存储单元与偏压示意图。

图4为本发明对差分存储单元进行注册动作与读取动作的偏压示意图。

图5a为本发明第一实施例的具有差分存储单元的随机码产生器。

图5b为运用于随机码产生器的控制方法第一实施例。

图5c为运用于随机码产生器的控制方法第二实施例。

图6a为本发明第二实施例的具有差分存储单元的随机码产生器。

图6b为运用于第二实施例随机码产生器的控制方法。

具体实施方式

由于非易失性存储器在制造的过程会有制造变异(processvariation)。因此,图1a与图2a所示的差分存储单元在制造完成后,二个子存储单元的结构一定会有差异。

根据差分存储单元的制造变异,本发明提出随机码产生器。在随机码产生器中设计特定的偏压(biasvoltage)来注册(enroll)差分存储单元。当差分存储单元完成注册动作(enrollment)后,两个子存储单元中的一个会被编程(program),而另一个子存储单元会被抑制编程(programinhibit)。

请参照图4,其所图示为本发明对差分存储单元进行注册动作与读取动作的偏压示意图。图4中注册动作的偏压方式可运用于图1a所示的浮动栅极型差分存储单元以及图2a所示的反熔丝型差分存储单元。此外,读取动作(read)的偏压方式相同于图1b与图2b,此处不再赘述。

于注册(enroll)差分存储单元时,将选择电压vse1提供至字线wl,将接地电压(0v)提供至比特线bl1及比特线bl2、且将编程电压vpp提供至控制线cl。其中,控制线cl可为源极控制线cls或者反熔丝控制线claf。

由于差分存储单元的制造变异,于注册动作时,并无法预测差分存储单元中哪个子存储单元会改变其状态。因此,注册后的差分存储单元,其存储状态即可作为随机码(randomcode)的一个比特(bit)。

以图1a的浮动栅极差分存储单元10为例来进行说明。于注册动作(enrollment)时,将选择电压vse1(例如,接地电压(0v))提供至字线wl,并提供接地电压(0v)至比特线bl1及第元线bl2、且将编程电压vpp提供至源极控制线cls。因此,两个子存储单元12、14内的两个浮动栅极晶体管mf1、mf2会同时接收到编程电压vpp。

由于浮动栅极型差分存储单元10中的两个子存储单元12、14因先天的制造变异,只有其中一个子存储单元会被编程,另一子存储单元则会被抑制编程。举例来说,若注册动作时子存储单元12被编程,而子存储单元14被抑制编程,则浮动栅极晶体管mf1的浮动栅极注入热载流子(hotcarrier),使得子存储单元12为开启状态(onstate);浮动栅极晶体管mf2的浮动栅极没有注入热载流子,使得子存储单元14为断开状态(offstate)。此外,当子存储单元12为开启状态(onstate)且子存储单元14为断开状态(offstate)时,定义浮动栅极型差分存储单元10被注册为第一存储状态(firststoragestate)。

以图2a的反熔丝型差分存储单元20为例来进行说明。于注册动作(enrollment)时,将选择电压vse1(例如,3.3v)提供至字线wl、将编程电压vpp提供至反熔丝控制线claf、且将接地电压(0v)提供至比特线bl1与比特线bl2。因此,两个子存储单元22、24内的二个反熔丝晶体管ma1、ma2会同时接收到编程电压vpp。

由于反熔丝型差分存储单元20中的二个子存储单元22、24因先天的制造变异,只有其中一个子存储单元会被编程,另一子存储单元则会被抑制编程。举例来说,若注册动作时子存储单元22被编程且子存储单元24被抑制编程,则反熔丝晶体管ma1的栅极氧化层破裂(rupture),子存储单元22为具有低电阻值的开启状态(onstate)。另外,反熔丝晶体管ma2的栅极氧化层不会破裂,子存储单元24为具有高电阻值的断开状态(offstate)。此外,当子存储单元22为开启状态(onstate)且子存储单元24为断开状态(offstate)时,定义反熔丝型差分存储单元20被注册为第一存储状态(firststoragestate)。

请参照图5a,其所图示为本发明第一实施例的具有差分存储单元的随机码产生器。随机码产生器包括:电源电路(powercircuit)403、电压检测器410、控制电路420、差分存储单元阵列430与读写电路(read/writecircuit)440。

此外,电源电路403包括:电压源(voltagesource)401与充电电路(chargingcircuit)405。充电电路405中包括开关sw与电容器c,开关sw的一端接收电压源401输出的供应电压(supplyvoltage)vs,开关sw的另一端连接至节点a;电容器c连接于节点a与接地端之间。此外,开关sw根据开关控制信号swctr1来运作。

电压检测器410连接至节点a,用以检测节点a的电压,并产生通知信号n至控制电路420。

控制电路420连接至电压检测器410、电源电路403中的充电电路405、差分存储单元阵列430与读写电路440。控制电路410接收通知信号n。此外,控制电路420产生开关控制信号swctr1以控制开关sw的运作。控制电路420产生选择电压vse1经由比特线wl传递至差分存储单元阵列430,用以在差分存储单元阵列430中决定选定差分存储单元(selecteddifferentialcell)。控制电路420产生感测控制信号sactr1来控制读写电路440的运作。

差分存储单元阵列430的端点z1连接控制线cl,且控制线cl连接至节点a;端点z2连接至字线wl;端点z3连接至比特线bl1;端点z4连接至比特线bl2。其中,差分存储单元阵列430由多个差分存储单元所组成,且每个差分存储单元中包括两个子存储单元。

举例来说,差分存储单元阵列430由多个浮动栅极型差分存储单元所组成,每个浮动栅极型差分存储单元中包括两个子存储单元,其结构类似图1a。此外,差分存储单元阵列430由多个反熔丝型差分存储单元所组成,每个反熔丝型差分存储单元中包括两个子存储单元,其结构类似图2a。当然,本发明并不限定于差分存储单元中子存储单元的结构。

举例来说,在浮动栅极型差分存储单元中,每个子存储单元中可由多个并联的选择晶体管与多个并联的浮动栅极晶体管所构成,且每一子存储单元中的选择晶体管与浮动栅极晶体管的组成数量与态样相同。同理,在反熔丝型差分存储单元中,每个子存储单元中可由多个并联的选择晶体管与多个并联的反熔丝晶体管所构成,且每一子存储单元中的选择晶体管与反熔丝晶体管的组成数量与态样相同。

读写电路440连接至控制电路420、比特线bl1与比特线bl2。当读写电路440接收到感测控制信号sactr1时,读写电路440开始运作,并根据比特线bl1与比特线bl2上的信号来决定选定差分存储单元的存储状态,并作为随机码的一个比特。

根据本发明的实施例,随机码产生器在进行注册动作时,电容器c提供应电压vs至控制线cl。因此,注册选定差分存储单元时,因先天的制造变异,差分存储单元中的两个子存储单元只有其中一个会被编程,另一个子存储单元则会被抑制编程。此外,不论哪一个子存储单元被编程,编程电流会造成电容器c上的电压会下降,使得另一个子存储单元被抑制编程。如此,将可以确保选定差分存储单元内仅有一个子存储单元被编程。

请参照图5b,其所图示为运用于随机码产生器的控制方法第一实施例。首先,在进行注册动作之前,控制电路420利用开关控制信号swctr1来闭合(close)开关sw使得电容器c充电至供应电压vs(步骤s402)。之后,控制电路420利用开关控制信号swctr1来断开(open)开关sw(步骤s404)。根据本发明的实施例,在步骤s402与步骤s404中,控制电路420短暂地闭合(close)开关sw一段时间,例如闭合1μs~10μs,使得电容器c被充电至供应电压vs。之后,控制电路420再断开(open)开关sw。其中,供应电压vs即为编程电压vpp。

接着,注册(enroll)选定差分存储单元(步骤s406)。基本上,电容器c提供供应电压vs至控制线cl,且控制电路420提供选择电压vse1至字线wl,并控制读写电路440提供接地电压(0v)至比特线bl1与比特线bl2之后,选定差分存储单元中的两个子存储单元会同时接收到供应电压vs,也就是编程电压vpp。明显地,由于电容器c无法持续地供应稳定的供应电压vs,当选定差分存储单元内的任一个子存储单元被编程时,编程电流会造成电容器c上的电压下降,并使得另一个子存储单元被抑制编程。

以图1a的浮动栅极型差分存储单元10为例来说明。由于制造变异,于进行注册动作时,将有一个子存储单元先被编程并从电容器c汲取大部分电流,使得另一个子存储单元因电流不足因而被抑制编程。举例来说,若注册动作时子存储单元14较快被编程,则浮动栅极晶体管mf2的浮动栅极注入热载流子(hotcarrier),使得子存储单元14为开启状态(onstate)。另外,浮动栅极晶体管mf1的浮动栅极因电流不足导致抑制编程而没有注入热载流子,使得子存储单元12为断开状态(offstate)。此外,当子存储单元14为开启状态(onstate)且子存储单元12为断开状态(offstate)时,浮动栅极型差分存储单元10被注册为第二存储状态(secondstoragestate)。

以图2a的浮动栅极型差分存储单元20为例来说明。由于制造变异,于进行注册动作时,将有一个子存储单元先被编程并从电容器c汲取大部分电流,使得另一个子存储单元因电流不足因而被抑制编程。举例来说,若注册动作时子存储单元24先产生编程电流,造成反熔丝晶体管ma2的栅极氧化层破裂(rupture),子存储单元24为具有低电阻值的开启状态(onstate)。另外,由于子存储单元22较晚产生编程电流并由于抑制作用,使得反熔丝晶体管ma1的栅极氧化层不会破裂,子存储单元24为具有高电阻值的断开状态(offstate)。此外,当子存储单元24为开启状态(onstate)且子存储单元22为断开状态(offstate)时,定义反熔丝型差分存储单元20被注册为第二存储状态(secondstoragestate)。

另外,于注册动作的过程,利用电压检测器410来检测节点a上的电压va。当确认节点a上的电压va小于一预设电压vx时(步骤s408),即可利用读写电路440来判断选定差分存储单元的存储状态并作为随机码的一个比特(步骤s410)。当电压检测器410确认节点a上的电压va已经低于预设电压vx时,可确认选定差分存储单元中的一个子存储单元已经被编程,另一个子存储单元被抑制编程。此时,电压检测器410发出通知信号n至控制电路420,而控制电路420利用感测控制信号sactr1来操作读写电路440,并根据比特线bl1与比特线bl2上的信号来决定选定差分存储单元的存储状态,并作为随机码的一个比特。

由以上的说明可知,本发明利用充电电路405中的电容器c来提供供应电压vs。于进行注册动作时,如果选定差分存储单元内的任一个子存储单元被编程时,编程电流会造成电容器c上的电压下降,并使得另一个子存储单元被抑制编程。因此,可以确保两个子存储单元同时被编程的状况不会出现。

然而,在进行注册动作的过程中,差分存储单元阵列430的漏电流(leakagecurrent)可能造成电容器c上的电压下降,但是选定差分存储单元中的两个子存储单元尚未被编程的情况发生。为了解决上述问题,如图5c所示,其为本发明运用于随机码产生器的控制方法第二实施例。

首先,在进行注册动作之前,控制电路420利用开关控制信号swctr1来闭合(close)开关sw使得电容器c充电至编程电压供应电压vs(步骤s402)。之后,控制电路420利用开关控制信号swctr1来断开(open)开关sw(步骤s404)。也就是说,在步骤s402与步骤s404中,控制电路420短暂地闭合开关sw一段时间,例如1μs~10μs,使得电容器c被充电至供应电压vs。之后,控制电路420再断开开关sw。

接着,注册选定差分存储单元(步骤s406)。基本上,电容器c提供编程电压供应电压vs至控制线cl,且控制电路420提供选择电压vse1至字线wl,并控制读写电路440提供接地电压(0v)至比特线bl1与比特线bl2之后,选定差分存储单元中的两个子存储单元会同时接收到供应电压vs。

此外,电压检测器410判断节点a的电压va下降斜率是否大于预设下降斜率(步骤s420)。于注册动作的过程,如果漏电流造成电容器c上的电压下降时,则节点a的电压va下降斜率会很小。此时,需要再将供应电压vs供应至电容器c上。

换言之,当节点a的电压va下降斜率未大于预设下降斜率(步骤s420)时,则回到步骤s402,短暂地闭合开关sw并将电容器c再次充电至供应电压vs。

反之,当节点a的电压va下降斜率大于预设下降斜率(步骤s420)时,电压检测器410确认是编程电流造成电容器c上的电压下降。接着,电压检测器410继续检测节点a上的电压va。

接着,当确认节点a上的电压va小于预设电压vx时(步骤s408),利用读写电路440来判断选定差分存储单元的存储状态并作为随机码的一个比特(步骤s410)。

由以上的说明可知,在注册动作的过程,当节点a的电压va下降斜率小于预设下降斜率时,电压检测器410可以利用通知信号n来要求控制电路420再次闭合开关sw,使得电容器c的电压可以维持在供应电压vs。当电压检测器410确认节点a的电压va下降斜率大于预设斜率时,则代表选定差分存储单元内的一个子存储单元已经被编程,而另一个子存储单元被抑制编程。

根据本发明控制方法的第二实施例,供应电压vs即为编程电压vpp。然而,本发明并不限定于供应电压vs为定值。

举例来说,当开关sw第一次闭合时,电压源401提供的供应电压vs为编程电压vpp,并使得电容器c充电至编程电压vpp。于步骤s420判断出节点a的电压va下降斜率小于预设斜率而再次回到步骤s402时,电压源401提供的供应电压vs为编程电压vpp再加上一个增量δv。因此,于步骤s402开关sw再次闭合时,电容器c会被充电至编程电压vpp加上增量δv。同理,当再次回到步骤s402时,电压源401提供的供应电压vs为编程电压vpp再加上两个增量δv,并依此类推。

此外,在上述图5b与图5c的实施例中,控制电路420注册选定存储单元(s406)时,开始计算注册时间。如果注册时间超过预设时间,则控制电路420认定注册动作已完成,并直接执行步骤s410。

请参照图6a,其所图示为本发明第二实施例的具有差分存储单元的随机码产生器。相较于第一实施例的随机码产生器,第二实施例中增加了写入缓冲器(writebuffer)510。基本上,第二实施例随机码产生器编程选定存储单元的方式相同于第一实施例,此处不再赘述。

在第二实施例的随机码产生器中,写入缓冲器510连接至控制电路420、读写电路440、比特线bl1与比特线bl2。当读写电路440确认选定差分存储单元的存储状态后会产生数据信号d。而控制电路420利用写入控制信号wctr1来控制写入缓冲器510,将该数据信号d所指示的存储状态再次编程于相同的选定存储单元,使得选定存储单元具有鲁棒的存储状态(robuststoragestate)。

举例来说,当读写电路440输出的数据信号d指示第一存储状态时,控制电路420会启动一次编程动作。此时,控制电路420提供选择电压vse1至字线wl,并且闭合开关sw以提供稳定的供应电压vs至控制线cl,写入缓冲器510提供接地电压(0v)至比特线bl1,并且提供应电压vs至比特线bl2(或者浮接比特线bl2)。因此,选定存储单元中连接至比特线bl1上的子存储单元会再次被编程为开启状态(onstate),连接至比特线bl2上的子存储单元会再次被编程为断开状态(offstate)。

同理,当读写电路440输出的数据信号d为第二存储状态时,控制电路420会再启动一次编程动作。此时,控制电路420提供选择电压vse1至字线wl,并且闭合开关sw以提供稳定的供应电压vs至控制线cl,写入缓冲器510提供接地电压(0v)至比特线bl2,并且提供供应电压vs至比特线bl1(或者浮接比特线bl1)。因此,选定存储单元中连接至比特线bl1上的子存储单元会再次被编程为断开状态(offstate),连接至比特线bl2上的子存储单元会再次被编程为开启状态(onstate)。

当然,为了要让选定存储单元具有鲁棒的存储状态,控制电路420可以控制电压源401,将供应电压vs提高至编程电压vpp加上至少一个增量δv,再闭合开关sw用以提供稳定的供应电压vs至控制线cl。

请参照图6b,其所图示为运用于第二实施例随机码产生器的控制方法。此控制方法接续于图5b与图5c的步骤s410之后。也就是说,当读写电路440判断选定差分存储单元的存储状态并作为随机码的一个比特(步骤s410)后,根据读写电路440判断的存储状态,写入缓冲器510将该存储状态编程至该选定差分存储单元(步骤s510)。

由以上的说明可知,本发明提出一种具有差分存储单元的随机码产生器及相关控制方法。将供应电压vs存储至电容器c。之后,于注册动作时,将电容器c的供应电压vs供应至差分存储单元阵列,以确保差分存储单元中仅有一个子存储单元被编程。于编程动作后,根据读写电路440所判断的存储状态,写入缓冲器510再次将该存储状态编程于相同的选定存储单元,使得选定存储单元具有鲁棒的存储状态(robuststoragestate)。

此外,本发明的电源电路403内部的电路也可以适当地修改为限电流电路(limitedcurrentcircuit)。也就是说,限电流电路可以将传输至节点a的电流约束在设定电流范围。也就是说,限电流电路输出的电流仅能造成一个子存储单元被编程,而另一个子存储单元被抑制编程。

综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属技术领域中普通技术人员,在不脱离本发明的精神和范围内,当可作各种改动与润饰。因此,本发明的保护范围当视所附权利要求所界定的为准。

【符号说明】

10、20:差分存储单元

12、14、22、24、32、34:子存储单元

401:电压源

403:电源电路

405:充电电路

410:电压检测器

420:控制电路

430:差分存储单元阵列

440:读写电路

510:写入缓冲器

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1