存储电路的制作方法

文档序号:6759240阅读:224来源:国知局
专利名称:存储电路的制作方法
技术领域
本发明,涉及一种存储电路,特别是涉及具有检测或更正收存的数据的软件错误电路的存储电路。
背景技术
近年,随着半导体存储器的制作工序的精细化,存储单元的一个单元的面积不断在缩小。伴随于此存储单元所存储的电荷量也在减少。其结果,由于α射线以及宇宙射线的射入,电荷流入存储单元或数据破坏越来越成为深刻的问题。这个数据破坏,是由于电荷流入存储单元的记忆节,引起记忆节的电位变化而产生,存储单元并未受到物理性破坏。为此,只要在同一地址上再次写入正确的数据,就能够纠正错误。这样的错误称为元件错误。作为应对软件错误的方法,使用纠错电路(ECC电路=Error Check and Correct电路)是一般的方法。
以前的包含纠错电路的存储电路中,在向存储器输入数据时,与记忆数据一起附加记忆了加重平均符号等的冗长数据,从存储器输出数据时,使用记忆数据和冗长数据,复原输入时的数据。例如,在输入32彼特(bit)数据之际,只要记忆使用加重平均符号的6彼特的冗长数据,在记忆中产生的1彼特的数据错误,就可以在输出时被纠正(例如参照Kiyohiro FURU-TANI其他,“A Built-In Hamming Code ECCCircuit for DRAM′s”,IEEE JO-URNAL OF SOLID-STATECIRCUITS,(美国)1998年2月,第24卷,第1号,pp.50-56)。
图4,是表示以前的存储电路构成的方块图。图4的存储电路,包括数据收纳部900、纠错部920、输入缓冲器932。数据收纳部900,包括数据用存储单元阵列902、冗长数据用存储单元阵列904、地址译码器906、控制信号输入电路912。纠错部920,包括编码电路924、输出数据纠错电路928。
图5,是表示图4的控制信号输入电路构成的电路图。控制信号输入电路912,包括双稳态多谐振荡器941、942和逻辑栅极951、952。数据收纳部900的数据输出入,与时钟信号CLK的上升同期进行。读/写控制信号NEW在低电位(以下记为“L”)时,控制信号输入电路912与时钟信号CLK同期,激活内部写入控制信号IWE(使其成为高电位(以下记为“H”))。还有,控制信号输入电路912,在存储选择信号NCS为“L”时,将时钟信号CLK作为内部时钟信号ICLK输出。
图6,是表示图4的储存电路动作例的脉冲波形图。图6中,内部时钟信号ICLK上升时的地址信号A输入内部,地址译码器906,译码地址信号A,生成为选择收纳了的数据的信号AIN。
图6的周期1,是写入周期。读/写控制信号NEW成为“L”,所以,图5的控制信号输入电路912,与时钟信号CLK同期,激活内部写入控制信号IWE。
这样做的话,输入缓冲器932,将外部输入数据D作为内部输入数据DIN输出。内部输入数据DIN,被写入数据用存储单元阵列902。还有,编码电路924,基于内部输入数据DIN生成纠错用加重平均编码,作为冗长数据PIN输出。冗长数据PIN,被写入冗长数据用存储单元阵列904。
周期2至周期4是读出周期。时钟信号CLK上升是内部写入控制信号IWE未被激活的话,数据用存储单元阵列902及冗长数据用存储单元阵列904,分别将内部输出数据DOUT及冗长数据POUT输出给输出数据纠错电路928。
输出数据纠错电路928,用冗长数据POUT,对内部输出数据DOUT进行纠错,与被读出的内部输出数据DOUT比较,检测错误的有无。检测到错误的情况下,输出数据纠错电路928,将错误检测信号ERR信号变为“H”而输出,将被纠错了的输出数据Q输出到存储电路的外部。
(发明所要解决的课题)然而,这样的以前的纠错电路中,在数据输出的经路上设置了纠错电路,存储器的输出存取时间,与没有纠错电路的情况相比变得非常慢,这成为问题。也就是,如在图6中所示的那样,内部输出数据DOUT,必定经过纠错电路作为外部输出数据Q被输出,所以,输出存取时间变长。

发明内容
本发明的目的在于提供一种防止存取时间变长,且,使软件错误的发生频率在实际使用上降得充分低的存储电路。
(为解决课题的方法)为解决上述课题,权利要求1所讲的方法,作为存储电路,是包括收存数据和为对上述数据进行纠错的冗长数据的数据收纳部;在没有从外部接受到输出入数据的存取命令时,对上述数据收纳部的数据,用上述冗长数据,至少进行错误检测,还至少将得到的结果作为错误检测信号输出的纠错部,当接到输出收存的数据的存取命令时,被指定的数据不经过上述纠错部的处理直接被输出外部的存储电路。
根据此,可以将被读出的数据不经过纠错部的处理输出到外部。为此,可以防止输出存取时间变长。另一方面,在没有从外部接受到输出入数据的存取命令时,对上述数据收纳部的数据,至少进行错误检测,所以,当检测到错误的情况下,只要进行纠错再重写,就可以降低由于软件错误所生成读出错误的概率。
权利要求2的发明,是在权利要求1所涉及的存储电路中,上述纠错部,对从上述数据收纳部读出了的数据,用对应于它的上述冗长数据,进行纠错,生成为对所得到的纠错后的数据进行纠错的冗长数据的纠错部,上述数据收纳部,是将上述纠错后的数据及对应的冗长数据再写入到与从上述数据收纳部读出的数据的地址相同的地址中的数据收纳部。
权利要求3的发明,是在权利要求1所涉及的存储电路中,上述纠错部,是具有对从上述数据收纳部读出了的数据,用对应于它的上述冗长数据,进行纠错,输出所得到的纠错后的数据及上述错误检测信号的输出数据纠错电路;上述错误检测信号,表示了错误被检测到的情况下,选择上述纠错后的数据,而在其他情况下,选择来自外部的数据,向上述数据收纳部输出的数据选择电路;从被上述数据选择电路输出的数据,生成为对该数据进行纠错的冗长数据输出给上述数据收纳部的编码电路。
权利要求4的发明,是在权利要求3所涉及的存储电路中,上述数据收纳部,包括收纳上述数据的数据用存储单元阵列;收纳上述冗长数据的冗长数据用存储单元阵列;为存取上述数据用存储单元阵列及上述冗长数据用存储单元阵列输出内部地址信号的控制电路;将上述内部地址信号译码后提供给上述数据用存储单元阵列及上述冗长数据用存储单元阵列的地址译码器,上述控制电路,是具有选择为存取上述数据用存储单元阵列及上述冗长数据用存储单元阵列的循环生成的纠错用内部地址信号、或者是从外部输入的外部地址信号,锁定(latch),作为上述内部地址信号输出的地址选择器的控制电路,上述地址选择器,是在显示了检测到上述错误检出信号的错误的情况下,不更新上述内部地址信号而保持的地址选择器。
权利要求5的发明,是在权利要求4所涉及的存储电路中,上述控制电路,还是包括在上述错误检测信号显示检测到错误的情况下,激活内部写入控制信号输出给上述数据选择电路的控制信号输入电路的控制电路,上述数据选择电路,是当上述内部写入控制信号被激活时,输出选择了的数据的数据选择电路。
权利要求6的发明,是在权利要求5所涉及的存储电路中,上述控制信号输入电路,在输入的纠错控制信号被激活了的情况下,激活使纠错可能信号,且,生成地址计数用时钟信号输出的控制信号输出电路,上述控制电路,是具有计数上述地址计数用时钟信号,将计数值作为上述纠错内部地址信号输出的地址计数器的控制电路,上述地址计数器,是在上述使纠错可能止信号被激活的情况下,选择上述纠错用内部地址信号,在其他情况下,选择上述外部地址信号的地址计数器。
(发明的效果)根据本发明,将读出了的数据,不接受错误检测或纠错的处理,可以输出到外部,所以,能够防止输出存取时间的变长。还有,没有从外部接受输出入数据的存取指令时,对存储电路的数据进行错误检测或纠错,所以,存储电路中由于软件产生的读出错误的概率,在实际使用当中就被降得充分地低。


图1,是表示本发明所涉及的存储电路构成的方块图。
图2,是表示图1的控制信号输入电路构成的电路图。
图3,是表示图1的储存电路动作例的脉冲波形图。
图4,是表示以前的存储电路构成的方块图。
图5,是表示图4的控制信号输入电路构成的电路图。
图6,是表示图4的储存电路动作例的脉冲波形图。
(符号说明)20 纠错部22 选择器(数据选择电路)24 编码电路26 输出缓冲器28 输出数据纠错电路100 数据收存部102 数据用存储单元阵列104 长数据用存储单元阵列106 地址译码器110 控制电路112 控制信号输入电路114 地址计数器
116 地址选择器具体实施方式
以下,就本发明的实施方式参照附图加以说明。
图1,是表示本发明所涉及的存储电路构成的方块图。图1的存储电路,包括数据收纳部100和纠错部20。数据收纳部100,包括数据用存储单元阵列102、冗长数据用存储单元阵列104、地址译码器106、控制电路110。
控制电路110,具有控制信号输入电路112、地址计数器114、作为地址控制电路的地址选择器116。纠错部20,包括作为数据选择电路的选择器22、编码电路24、输出缓冲器26、输出数据纠错电路28。
控制信号输入电路112,输入时钟信号CLK、存储选择信号NCE、读/写控制信号NEW、纠错控制信号NECC、及错误检测信号ERR,输出内部时钟信号ICLK、内部写入控制信号IWE、地址计数用时钟信号ECLK、及使纠错可能信号ECCE。
地址计数器114,遵从地址计数用时钟信号ECLK进行计数,将计数值作为纠错用内部地址信号CA输出给选择器116。
选择器116,当使纠错可能信号ECC为“H”时选择纠错用内部地址信号A,其他的时候选择外部地址信号A。选择器116,将选择的信号与时钟信号同期被锁定,被锁定的信号作为内部地址信号IA输出给地址译码器106。还有,选择器116,在错误检出信号ERR为“H”时,不更新被锁定了的内部地址信号IA保持。
地址译码器106,将内部地址信号IA译码,从收纳在数据用存储单元阵列102及冗长数据用存储单元阵列104中的数据,输出为选择指定内部地址信号IA的数据的信号AIN。
数据周存储元件阵列102,将由信号AIN选择的数据,作为内部输出数据DOUT输出给输出缓冲器及输出数据纠错电路28。冗长数据用存储单元阵列104,将由信号AIN选择的数据,作为冗长数据POUT输出给输出数据纠错电路28。
输出数据纠错电路28,使用内部输出数据DOUT和冗长数据POUT,进行对内部输出数据DOUT的纠错,将所得到的订正数据DCRT输出给选择器22。还有,输出数据纠错电路28,在内部输出数据DOUT中检测到错误的情况下,使错误检测信号ERR成为“H”输出给控制信号输入电路112及选择器22、116。
选择器22,遵照错误检测信号及内部写入控制信号IWE,选择外部输入数据D或订正数据DCRT,作为内部输入数据DIN输出给数据用存储元件阵列102及编码电路24。选择器22,当内部写入控制信号IWE处于激活时(成为“H”时),选择订正数据DCRT。
编码电路24,从内部输入数据DIN,生成为纠错的冗长数据PIN,输出给冗长数据用存储元件阵列104。编码电路24,如从32彼特的内部输入数据DIN,生成6彼特的加重平均符号作为冗长数据PIN。
输出缓冲器26,输入内部输出数据DOUT,并使它,遵从使纠错可能信号ECCE作为外部输出数据Q输出。也就是,输出缓冲器26,在使纠错可能信号ECCE处于“H”状态时,将内部输出数据DOUT锁定后输出,使纠错可能信号ECCE处于“L”状态时,将内部输出数据DOUT原样输出。
图2,是表示图1的控制信号输入电路112的构成的电路图。控制信号输入电路112,包括双稳态多谐振荡器141、142、143、144和逻辑栅极151、152、153、154、155、158。
双稳态多谐振荡器141~144,各自输入存储选择信号NCE、读/写控制信号NEW、纠错控制信号NECC、及错误检测信号ERR,再将输入的信号与时钟信号CLK同期输出。
存储选择信号NCS为“L”的情况下,逻辑栅极151,将时钟信号CLK作为内部时钟信号ICLK输出。逻辑栅极158,在读/写控制信号NEW为“L”时,且,纠错控制信号NECC为“H”时,在激活内部写入控制信号IWE以外,错误检测信号ERR为“H”时,将内部时钟信号ICLK作为内部写入控制信号输出。
纠错控制信号NECC及错误检测信号ERR为“L”时,逻辑栅极155,输出地址计数用时钟信号ECLK。错误检测信号成为“H”的话,地址计数用时钟信号ECLK不变动。存储选择信号NCS及纠错控制信号NECC为“L”时,逻辑栅极154,激活使纠错可能信号ECCE。也就是使其成为“H”。
图3,是表示图1的储存电路动作例的脉冲波形图。用图3说明图1的存储电路的动作。数据收纳部100的数据输入出,与时钟信号CLK的上升同期进行。
图3中,周期1是通常的读入周期,是为输出收存的数据,从外部所存取的。在这个周期中,从外部输入的纠错控制信号NECC成为“H”,使纠错可能信号ECCE为“L”。因此,选择器116,选择外部地址信号,输出缓冲器26,将内部输出数据DOUT原样作为外部输出数据Q输出。这时输出的数据,不经过输出数据纠错电路28,不受错误检测或纠错处理,所以,可以防止输出存取时间变长。
周期2至周期5中,存储选择信号NCS被激活为“L”。还有,在周期2至周期5中,没有从外部接受输出入数据的存取命令,为了被收存的数据的错误检测或纠错,在纠错以外进行读出。为此,在周期2至周期5中,纠错控制信号NECC被激活为“L”。周期2是读出周期。在周期2中,当时钟信号上升时,使纠错可能信号ECCE被激活为“H”,还有,地址计数用时钟信号ECLK,与内部时钟信号同样被输出。
使纠错可能信号ECCE被激活的话,选择器116,禁止外部地址信号A的输入,选择从地址计数器114输出的纠错用内部地址信号CA输出。还有,输出缓冲器26,锁定前一周期的输出数据Q(图3的Qx)。再有,输出数据纠错电路28,输出被激活了的订正数据DCRT。
地址计数器114,在地址计数用时钟信号ECLK上升时使纠错用内部地址信号CA加1。地址计数器114,循环产生指定数据用存储单元阵列102及冗长数据用存储单元阵列104内的数据的所有地址。例如,作为数据用存储单元阵列102及冗长数据用存储单元阵列104的地址,被分成0至M的话,地址计数器114,重复从0到M的计数上升。
周期3是读出周期。周期3中,输出数据纠错电路28,从内部地址An+1指定的数据用存储单元阵列102内部的输出数据Qn+1中检测到错误的话,使错误检测信号ERR成为“H”。
周期4,进行纠错。周期4中,错误检测信号ERR为“H”,所以,控制信号输入电路112,停止地址计数用时钟信号ECLK,地址计数器114,不使纠错用内部地址信号CA加1,选择器116,保存与前周期同样的地址An+1输出。
还有,控制信号输入电路112,遵从错误检测信号ERR激活内部写入控制信号IWE,所以,选择器22,选择订正数据DCRT作为内部输入数据DIN输出。也就是,订正数据Qn+1x,作为内部输入数据Dn+1被提供给数据用存储单元阵列102及编码电路24。
数据用存储单元阵列102及冗长数据用存储单元阵列104中,内部地址An+1是被提供的原样,所以,数据用存储单元阵列102及冗长数据用存储单元阵列104的地址An+1中,分别被写入内部输入数据Dn+1及基于此生成的冗长数据。
也就是,数据用存储单元阵列102及冗长数据用存储单元阵列104,由周期3在成为读出对象的地址上,分别再写入纠错后的数据及对应于它的冗长数据。
如以上这样,根据图1的存储电路的话,并列于将读出数据直接输出外部的经路(经过图1的输出缓冲器26的经路),还包括了输出数据纠错电路28,所以,被读出的数据,不接受为错误检测或纠错的处理,被输出到外部。为此,就可以防止由于纠错等处理所产生的存取时间的增加,也就可以进行高速存取。
还有,遵从纠错控制信号NECC,在与从存储器外部的数据输出入存取周期不同的周期中,地址计数器114产生纠错用内部地址信号CA,周期性对收纳在数据用存储单元阵列102及冗长数据用存储单元阵列104内的数据进行错误检测或纠错。为此,就可以将在存储电路上由软件错误引起的读出数据错误的概率,在实际使用上充分地降低。
例如,作为存储电路,考虑使用130nm程序的半导体SRAM(StaticRandom-Access Memory)。这种情况下,相当于1MG彼特的宇宙射线的软件错误的概率(Soft-Error Rate),约为2.1×10-5error/hour/Mbit,该值相当于五年产生一次错误的概率。
现在,SRAM的容量为32Kword,动作频率为27MHz的情况,SRAM动作一个周期当中,一万次中只有一次,假设在与通常的存取周期不同的其他周期中检查错误的话,软件错误一次发生的期间中,1.4×107次检查全部彼特也是可能的。这种情况下,相对于不使用纠错电路的情况,可以降低3.6×108倍软件错误的发生概率。这个概率,在实际使用上,是没有问题的错误概率。
以上的实施方式中,说明了输出数据纠错电路28进行纠错的情况,但是,输出数据纠错电路,不进行纠错,只将错误检测结果输出到存储电路的外部亦可。这种情况,遵从错误检测的结果,在存储电路的外部进行纠错,再将纠错后的数据写入。
还有,内部输出数据DOUT说明了32彼特的数据,冗长数据POUT说明了6彼特的数据,但是,这些彼特数是另外的彼特数也是可以的。
还有,以上的实施方式中,说明了时钟同期式的存储电路,但是,是非同期式存储电路亦可。还有,存储电路,只要是能够通过再写入修复数据破坏的存储器即可,是半导体存储器,其他种类的存储器亦可。
-产业上的利用可能性-如以上所说明了的那样,本发明,可以缩短数据输出之际的存取时间,所以对于高速动作必须的存储电路是有用的。
权利要求
1.一种存储电路,其特征为包括数据收纳部,收存数据和为对上述数据进行纠错的冗长数据,纠错部,在没有从外部接受到输出入数据的存取命令时,对上述数据收纳部的数据,用上述冗长数据,至少进行错误检测,还至少将得到的结果作为错误检测信号输出;另外当接到输出收存的数据的存取命令时,被指定的数据不经过上述纠错部的处理直接被输出外部。
2.根据权利要求1所涉及的存储电路,其特征为上述纠错部,对从上述数据收纳部读出了的数据,用对应于它的上述冗长数据,进行纠错,生成为对所得到的纠错后的数据进行纠错的冗长数据,上述数据收纳部,将上述纠错后的数据及对应的冗长数据再写入到与从上述数据收纳部读出的数据的地址相同的地址中。
3.根据权利要求1所涉及的存储电路,其特征为上述纠错部,具有输出数据纠错电路,对从上述数据收纳部读出了的数据,用对应于它的上述冗长数据,进行纠错,输出所得到的纠错后的数据及上述错误检测信号,数据选择电路,上述错误检测信号,表示了错误被检测到的情况下,选择上述纠错后的数据,而在其他情况下,选择来自外部的数据,向上述数据收纳部输出,编码电路,从被上述数据选择电路输出的数据,生成为对该数据进行纠错的冗长数据输出给上述数据收纳部。
4.根据权利要求3所涉及的存储电路,其特征为上述数据收纳部,包括数据用存储单元阵列,收纳上述数据,冗长数据用存储单元阵列,收纳上述冗长数据,控制电路,为存取上述数据用存储单元阵列及上述冗长数据用存储单元阵列输出内部地址信号,地址译码器,将上述内部地址信号译码后提供给上述数据用存储单元阵列及上述冗长数据用存储单元阵列;另外上述控制电路,具有地址选择器,上述地址选择器,选择为存取上述数据用存储单元阵列及上述冗长数据用存储单元阵列的循环生成的纠错用内部地址信号、或者是从外部输入的外部地址信号,锁定,作为上述内部地址信号输出,上述地址选择器,在显示了检测到上述错误检出信号的错误的情况下,不更新上述内部地址信号而保持。
5.根据权利要求4所涉及的存储电路,其特征为上述控制电路,还包括控制信号输入电路,上述控制信号输入电路,在上述错误检测信号显示检测到错误的情况下,激活内部写入控制信号输出给上述数据选择电路,上述数据选择电路,当上述内部写入控制信号被激活时,输出选择了的数据。
6.根据权利要求5所涉及的存储电路,其特征为上述控制信号输入电路,在输入的纠错控制信号被激活了的情况下,激活使纠错可能信号,且,生成地址计数用时钟信号输出的控制信号输出电路,上述控制电路,具有地址计数器,上述地址计数器,计数上述地址计数用时钟信号,将计数值作为上述纠错内部地址信号输出,上述地址计数器,在上述使纠错可能信号被激活的情况下,选择上述纠错用内部地址信号,在其他情况下,选择上述外部地址信号。
全文摘要
本发明提供一种存储电路,防止存取时间变长,且使软件错误的发生频率在实际使用上降得充分低。本发明的存储电路,包括收存数据和为对上述数据进行纠错的冗长数据的数据收纳部;在没有从外部接受到输出入数据的存取命令时,对上述数据收纳部的数据,用上述冗长数据,至少进行错误检测,还至少将得到的结果作为错误检测信号输出的纠错部。当接到输出收存的数据的存取命令时,被指定的数据不经过上述纠错部的处理直接被输出外部。
文档编号G11C7/00GK1825493SQ20061000228
公开日2006年8月30日 申请日期2006年1月27日 优先权日2005年1月31日
发明者铃木利一 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1