具有ecc功能的半导体存储设备的制作方法

文档序号:6775358阅读:209来源:国知局
专利名称:具有ecc功能的半导体存储设备的制作方法
技术领域
本发明涉及半导体存储设备。具体地说,本发明涉及具有ECC功能的半导体存储设备。
背景技术
已知在诸如DRAM的半导体存储设备上安装的ECC(纠错码)电路。ECC电路不仅能检测出存储器错误,而且能指明数据中错误的位置(位),并且将其纠正成正确的值。具体而言,在写入数据时,ECC电路为数据计算出被称作“纠错码(ECC)”的信息。计算出的ECC被存储于存储空间中。然后,当读出数据时,ECC电路参考预先计算出的ECC来检测并纠正读出数据的错误。
计算ECC所需的写入数据的数据宽度是预先确定的。例如,当数据总线宽度是64位时,为64位的写入数据计算出一个ECC。计算的ECC的位数由预定算法来确定。在这种情况下,该位数为8位。因此,当写入256位的数据时,计算的4个ECC的总位数为32位。
根据该算法,随着写入数据的宽度的增加,计算出的ECC的位数呈缓慢增加趋势。日本未决公开专利申请JP-A-Heisei,11-102326公开了一种利用该趋势来抑制ECC增加的技术。根据该技术,以执行突发写入的数据为单位计算一个ECC。例如,当数据总线宽度是64位,突发长度是4时,为256位的数据计算一个ECC。在这种情况下,计算出的ECC的位数是9位,从总体上降低了ECC占用的存储空间。
我们现在已经发现了如下事实。本发明人已经关注到了以下方面。在ECC电路中,用于计算ECC的数据宽度被预先确定,例如,该预定数据宽度是64位。但是,例如,为系统方便可能只写入1个字节的数据(字节写入)。在下文中,在这种预定数据宽度下的数据写入被称为“部分写入”。尽管在上面提及的JP-A-Heisei,11-102326中公开的技术能够通过在计算ECC时将数据整合到一起来减少ECC,但是该技术却不能处理部分写入。

发明内容
为了实现本发明的一个方面,本发明提供一种半导体存储设备,其包括存储单元阵列;ECC(纠错码)电路,用于为写入存储单元阵列中的写入数据计算纠错码;以及判定电路,用于当写入数据的数据宽度小于预定数据宽度时,使ECC电路无效。
在本发明中,当写入数据的数据宽度小于预定数据宽度时,使ECC电路无效。因此,即使数据宽度小于预定数据宽度的数据被包括在要写入存储单元阵列中的数据之中,也能够从总体上降低了用于数据写入处理的时间。也就是说,能够从整体上增加数据写入处理的速度。
根据本发明的半导体存储设备能够处理部分写入。而且,从整体上增加了该半导体存储设备的操作速度。


本发明的上述和其他目的、优点和特征,在结合附图的以下描述中将更加清楚,其中图1是示出了在本发明的实施例中当产生有效信号ENB时半导体存储设备的结构的框图;图2是示出了在本发明的实施例中当产生无效信号DIS时半导体存储设备的结构的框图;图3是示出了根据本实施例的判定电路的例子的框图;图4是示出了根据本实施例的部分写入的例子的示意图;图5是示出了根据本实施例的判定电路的另一个例子的框图;以及图6是用于解释本发明的效果的时序图。
具体实施例方式
现在,将参考说明性实施例在此描述本发明。本领域技术人员将认识到,使用本发明的讲解能实现许多可选实施例,并且本发明不仅仅局限于为解释目的而示出的这些实施例。
下面将参照附图描述根据本发明的半导体存储设备的实施例。根据本发明的半导体存储设备具有ECC电路。
1.结构和功能首先,将参考图1来描述根据本发明的实施例的半导体存储设备的结构和功能。在下面的描述中,假定数据总线宽度是32位。
主单元阵列10是用于储存从存储器外部提供的数据的存储区,并且具有以阵列形状排列的多个元存储单元。R/W放大器12将写入数据DW写入到由地址信号ADD指定的写地址中,或者将读出数据DR从由地址信号ADD指定的读地址中读出。例如,将32位的写入数据DW写入到由地址A1指定的块11a至11d中。假定块11a至11d能够分别存储1个字节(8位)的数据。
ECC电路20包括ECC编码电路21和ECC解码电路22。ECC编码电路21为一个写入数据DW计算一个ECC(奇偶性)。计算ECC所需要的数据宽度是预先确定的。在该例子中,假定预定数据宽度是“32位”。由ECC编码电路21计算的ECC与写地址相关地被存储在后面描述的ECC单元阵列30中。另一方面,ECC解码电路22接收从读地址读出的读出数据DR和来自ECC单元阵列30的与读地址有关的ECC。ECC解码电路22使用接收到的ECC来检查读出数据DR中是否出现位错误。当检测到错误时,ECC解码电路22对位错误进行纠正。在错误检测/纠正处理之后,读出数据DR作为输出数据Dout被输出到外部。
ECC单元阵列30是用于存储由ECC电路20计算出的ECC的存储区。R/W放大器32将ECC写入到由地址信号ADD指定的区域中,或者从该区域中读出ECC。例如,当一定写入数据DW被写入到上述块11a至11d中时,为写入数据DW计算出的ECC被存储在与地址A1相对应的块31中。当读出数据DR被从块11a至11d中读出时,还从块31中读出ECC。
如上所述,ECC电路20用于根据32位的写入数据DW来计算一个ECC。但是,为系统方便可以仅写入小于32位的写入数据DW。作为例子,已知“字节写入”,其中仅重新写入1个字节(8位)的数据。例如,虽然诸如图像数据的大数据以32位为单位被写入,但是通过字节写入来重新写入由应用软件使用的变量等。在下文中,当包括字节写入的写入数据DW的数据宽度小于32位时,该写入被称为“部分写入”。
根据本实施例,当执行部分写入时,停止ECC功能。也就是说,当执行部分写入时,ECC电路20无效。因此,在根据本实施例的半导体存储设备中提供判定电路40。判定电路40是用于确定ECC电路20是有效还是无效的电路。判定电路40能够基于命令信号CMD来确定ECC电路20是否有效还是无效。具体而言,如果命令信号CMD表示“部分写入”,则ECC电路20只需要是无效的。而且,当执行部分写入时,判定电路40产生“无效信息”。该无效信息表示ECC电路20由于部分写入而无效,并且表示与执行部分写入的地址有关的ECC变成无效的。为了保持该无效信息,判定电路40包括无效信息存储区41。
2.普通写入/读出将参考图1描述普通写入操作和读出操作。在该情况下,写入到主单元阵列10中的写入数据DW的数据宽度满足预定位数(32位)。由于命令信号CMD没有显示“部分写入”,所以判定电路40向ECC电路20输出使能信号ENB,用于激活ECC电路20。可以说使能信号ENB是表示ECC电路有效的“有效信号”。ECC电路20响应于该使能信号ENB而正常地操作。也就是说,ECC编码电路21为写入数据DW计算一个ECC。当写入数据DW被写入到由地址A1指定的块11a至11d中时,计算出的ECC被写入到与地址A1有关的块31中。由于ECC电路20不是无效的,所以判定电路40不需要保持与地址A1有关的无效信息。
然后,考虑从由相同地址A1指定的块11a至11d读出数据的情况。通过参考地址信号ADD,判定电路40检测到不存在与地址A1有关的无效信息。在这种情况下,由于不需要使ECC电路20无效,所以判定电路40产生使能信号ENB。ECC电路20响应于该使能信号ENB而正常地操作。而且,响应于使能信号ENB,开关50将从地址A1读出的读出数据DR传送至ECC解码电路22。ECC解码电路22接收读出数据DR和从ECC单元阵列30的块31中读出的ECC。利用接收到的ECC,ECC解码电路22对读出数据DR进行错误检测/纠正处理。在错误检测/纠正处理之后,读出数据DR作为输出数据Dout被输出到外部。
3.部分写入/读出接下来,参考图2来描述部分写入操作和之后的读出操作。作为例子,考虑1个字节的写入数据DW被字节写入到由地址A1指定的块11a中的情况。在该情况中,写入数据DW的数据宽度不满足预定位数(32位)。因此,ECC电路20无法按原样生成ECC。在此,虽然考虑通过填充某种数据以满足预定位数来计算一个ECC,但根据本发明,ECC电路20被无效并且ECC的计算处理被跳过。
判定电路40可以通过表示“字节写入”的命令信号CMD来检测出执行部分写入。在该情况下,判定电路40向ECC电路20输出“无效信号DIS”,用于使ECC电路20无效。ECC电路20被无效信号DIS无效,并且ECC功能被停止。也就是说,ECC编码电路21跳过了ECC的计算处理,并且不会新计算与地址A1有关的ECC。因此,存储在与地址A1相对应的块31中的ECC不被新更新,仅仅写入数据DW被字节写入到块11a中。由于与地址A1对应的ECC没有更新,所以该ECC不具有任何意义。由于该ECC不能用在读出操作中,所以有必要保持表示ECC无效的信息。因此,判定两路40将与地址A1有关的无效信息存储在无效信息存储区41中。
然后,考虑从由相同地址A1指定的块11a至11d读出数据的情况。判定电路40参考地址信号ADD,以检测出在无效信息存储区41中存储有与地址A1有关的无效信息。由此,判定电路40识别出与地址A1有关的ECC已经是无效的。由于不能执行ECC电路20的错误检测/纠正处理,所以判定电路40用无效信息来产生无效信号DIS。
通过该无效信号DIS使ECC电路20无效。也就是说,响应于该无效信号DIS,ECC电路20跳过了读出数据DR的错误检测/纠正处理。这时,当其响应于无效信号DIS时,开关50将从地址A1读出的读出数据DR输出到外部,作为输出数据Dout。也就是说,读出数据DR不经过ECC电路20就被输出到外部。该开关50可以被认为是ECC电路20的一部分。无效的ECC可以从ECC单元阵列30的块31被读出,也可以不被读出。
4.判定电路40用于实现上述处理的判定电路40的例子包括如下。
图3所示的判定电路40包括标记单元阵列60和控制器63。标志单元阵列60是用于存储表示ECC是有效还是无效的标记的存储区,并且是与主单元阵列10或ECC单元阵列30相同的存储单元阵列的一部分。该标记包括表示ECC有效的有效标记F0和表示ECC无效的无效标记F1。R/W放大器62基于地址信号ADD向标记单元阵列60写入标记或者读出标记。
控制器63基于命令信号CMD确定是否执行部分写入。当命令信号CMD不表示“部分写入”而是表示“普通写入”时,控制器63输出使能信号(有效信号)ENB至ECC电路20。在该情况中,ECC电路20计算出一定ECC,并将计算出的ECC写入到与由地址信号ADD表示的地址有关的块31中。同时,表示ECC有效的有效标记F0被记录到与由地址信号ADD表示的地址有关的标记单元61中。例如,有效标记F0的值为“0”。
另一方面,当命令信号CMD表示诸如字节写入的“部分写入”时,控制器63输出无效信号DIS至ECC电路20。在该情况中,不计算ECC并且也不写入ECC。然而,表示ECC无效的无效标记F1被记录到与由地址信号ADD表示的地址有关的标记单元61中。例如,无效标记F1的值为“1”。该无效标记F1对应于上述无效信息,标记单元阵列60对应于无效信息存储区41。
在读出数据时,R/W放大器62从与由地址信号ADD表示的地址有关的标记单元61中读出标记。如果读出的标记为有效标记F0,则对应于该地址的ECC是有效的。因此,标记F0按原样被传送到ECC电路20,作为有效信号ENB。另一方面,如果读出的标记为无效标记F1,则对应于该地址的ECC是无效的。因此,无效标记F1按原样被传送到ECC电路20,作为无效信号DIS。
图4示出了对标记进行重新写入的例子。首先,通过普通写入,将写入数据Da至Dd(32位)写入到主单元阵列10中的由地址A1指定的块11a至11d中。ECC(E16位)被写入到ECC单元阵列30中的与地址A1有关的块31中。有效标记F0(1位)被写入到标记单元阵列60中的与地址A1有关的标记单元61中。
接着,假设对块11a进行字节写入。这时,块11a的数据Da被重新写入数据DA(8位),标记单元61的标记由有效标记F0被重新写入无效标记F1。由于不计算ECC,所以ECC仍为E1。在此,存储在块11a到11d中的数据DA,Db,Dc,Dd的ECC必须是不再与E1不同的值。也就是说,记录在与地址A1有关的块31中的ECC是无效的。标记单元61中记录的无效标记F1表示该情况。
上述有效标记F0或是无效标记F1也可以被认为是给ECC新加的位。也就是说,在图3和4的例子中,可以说使用“具有标记的ECC”取代“普通ECC”。当执行部分写入时,可以说只更新了标记。
而且,图5示出了判定电路40的另一个例子。图5所示的判定电路40包括地址存储区70、比较器71和控制器72。执行部分写入的地址被存储在地址存储区70中。控制器72基于命令信号CMD来确定是否执行部分写入。当命令信号CMD不是“部分写入”而是“普通写入”时,控制器72输出使能信号(有效信号)ENB至ECC电路20。不在地址存储区70中进行任何存储。
另一方面,当命令信号CMD表示诸如字节写入的“部分写入”时,控制器72输出无效信号DIS至ECC电路20。由此,使ECC电路20无效。控制器72将由写地址信号ADDW表示的地址信息存到地址存储区70中。地址信息表示其中ECC无效的地址本身,并且对应于上述无效信息。而且,地址存储区70对应于上述无效信息存储区41。
在读出数据时,表示读出目标的读地址信号ADDR被输入到比较器71中。比较器71对由读地址信号表示的读地址和存储在地址存储区70中的无效地址进行比较。当读地址和无效地址不一致时,读地址的ECC有效。因此,比较器71的输出(例如,“0”)按原样被作为有效信号ENB输出。另一方面,当读地址和无效地址一致时,读地址的ECC无效。因此,比较器71的输出(例如,“1”)按原样被作为无效信号DIS输出。
图5所示的例子抑制了存储空间的消耗。但是,在读出数据时需要比较器71进行地址比较操作。然而,直到读出数据DR被输入到ECC电路20才需要确定是否应该产生无效信号DIS。因此,比较器71的地址比较仅需在与R/W放大器12(见图1)进行数据读出操作的同时进行。不会产生由于地址比较操作引起的处理时间的延迟。
5.效果如上所述,根据本发明,当写入数据DW不满足预定位数时,ECC计算处理被省略。作为比较,假定在部分写入时也产生ECC。例如,如下所示,考虑通过填充数据以满足预定位数来计算一个ECC。参考图4,当执行字节写入时,数据Da至Dd一次性从块11a至11d读出(虚拟读出处理),并且仅数据Da被1字节的写入数据DA替换。为32位的数据“DA、Db、Dc、Dd”计算一个ECC。然后,在32位的数据“DA、Db、Dc、Dd”被写入到块11a至11d中的情况下,计算出的新ECC被写入到块31中。因此,通过虚拟读出处理也可以在字节写入中产生有效的ECC。
图6示出了根据本发明的处理(ECC暂时无效)和虚拟读出处理的比较。假设在任何处理中的普通写入都需要3个周期。在写入控制中,与普通写入不同的字节写入被看作“中断”。当在字节写入中执行虚拟读出处理时,对于虚拟读出处理写入时间会增加。例如,字节写入需要6个周期。另一方面,由于根据本发明不执行ECC处理,所以与普通写入的周期相同的3个周期足够了。因此,与执行虚拟读出处理的情况比较,存储操作变为高速。也就是说,根据本发明,性能得到了提高。而且,也没有必要改变正常操作和字节写入中的写入周期。也就是说,写入周期可以被一致地设定,而不依赖于写入数据DW的数据宽度。由于不需要对应于中断的特殊周期控制,所以简化了周期控制。
如上所述,根据本发明的半导体存储设备,提高了性能,并且提高了周期的可控性。
省略了ECC处理对存储器可靠性的影响的论据如下。通常,诸如图像数据和声音数据的大数据通过普通写入来处理(在上述例子中,每32位进行处理)。另一方面,由字节写入处理的数据经常是由应用软件使用的变量等。因此,考虑到执行字节写入的区域充分地小于执行普通写入的区域。可以说可靠性恶化的恶化单元例如是256M中的几位。因此,执行字节写入的区域中包含恶化单元的概率被认为非常小。因此,基于概率理论的观点,认为即使在字节写入中省略了ECC处理,存储可靠性也不会有实质性的降低。
而且,虽然执行字节写入的区域小,但是由应用软件使用的变量对系统很重要,并且要经常地被重新写入。这意味着字节写入引起的中断会频繁地发生。因为中断频繁发生,所以本发明的效果,也就是说,性能和周期可控性的改善,变得很显著(见图6)。可以说当字节写入频繁进行时,省略ECC处理的优点是巨大的,虽然执行字节写入的区域小。
根据本发明的半导体存储设备可以处理部分写入。而且,从整体上增加了该半导体设备的操作速度。
显然,本发明不局限于上述实施例,在不偏离本发明的范围和精神的情况下可以进行修改和改变。
权利要求
1.一种半导体存储设备,包括存储单元阵列;ECC(纠误码)电路,用于计算要写入到所述存储单元阵列中的写入数据的纠错码;以及判定电路,用于当所述写入数据的数据宽度小于预定数据宽度时,使所述ECC电路无效。
2.根据权利要求1的半导体存储设备,其中所述预定数据宽度是所述ECC电路计算所述纠错码所需的数据宽度。
3.根据权利要求1的半导体存储设备,其中当被无效时,所述ECC电路跳过所述纠错码的所述计算。
4.根据权利要求1的半导体存储设备,其中数据宽度小于所述预定数据宽度的所述写入数据被写入到所述存储单元阵列的第一地址中,并且所述判定电路保持与所述第一地址有关的无效信息。
5.根据权利要求4的半导体存储设备,其中当读出处理中访问所述第一地址时,所述判定电路基于所述无效信息来输出使所述ECC电路无效的无效信号。
6.根据权利要求5的半导体存储设备,其中响应于所述无效信号,所述ECC电路跳过对从所述第一地址中读出的读出数据的错误检测和纠正处理。
7.根据权利要求5的半导体存储设备,其中从所述第一地址读出的读出数据被输出到外部而不通过所述ECC电路。
8.根据权利要求5至7中的任何一个的半导体存储设备,其中所述判定电路包括标记单元阵列,用于存储表示所述纠错码是有效和无效之一的标记,其中当所述写入数据的所述数据宽度小于所述预定数据宽度时,所述判定电路将所述无效标记作为所述无效信息储存在所述标记单元阵列中,并且其中当在读出处理中访问所述第一地址时,所述判定电路从所述标记单元阵列读出所述无效标记并且将所述读出无效标记作为所述无效信息输出。
9.根据权利要求5至7中的任何一个的半导体存储设备,其中所述判定电路包括地址存储部件,用于存储表示所述第一地址的地址信息作为所述无效信息,以及比较器,用于比较由所述地址信息表示的所述第一地址和读出目标地址,其中当所述读出目标地址和所述第一地址一致时,所述比较器产生所述无效信号。
10.根据权利要求9的半导体存储设备,还包括读出电路,用于从所述存储单元阵列读出存储在所述读出目标地址中的数据,其中所述比较器与所述读出电路的操作并行地执行所述比较。
11.根据权利要求1的半导体存储设备,其中写入所述写入数据所需的周期是恒定的,而不依赖于所述写入数据的数据宽度。
12.一种操作半导体存储设备的方法,包括(a)ECC(纠错码)电路对要写入到存储单元阵列中的写入数据计算纠错码;以及(b)当所述写入数据的数据宽度小于预定数据宽度时,判定电路使所述ECC电路无效,其中所述预定数据宽度是所述ECC电路计算所述纠错码所需的数据宽度。
13.根据权利要求12的操作半导体存储设备的方法,还包括(c)在被无效时,所述ECC电路跳过所述纠错码的所述计算。
14.根据权利要求12或13的操作半导体存储设备的方法,其中数据宽度小于所述预定数据宽度的所述写入数据被写入到所述存储单元阵列的第一地址中,并且所述步骤(b)包括(b1)所述判定电路保持与所述第一地址有关的无效信息。
15.根据权利要求14的操作半导体存储设备的方法,其中所述步骤(b)还包括(b2)当在读出处理中访问所述第一地址时,所述判定电路基于所述无效信息输出使所述ECC电路无效的无效信号。
16.根据权利要求15的操作半导体存储设备的方法,还包括(d)响应于所述无效信号,所述ECC电路跳过对从所述第一地址读出的读出数据的错误检测和纠正处理。
全文摘要
半导体存储设备包括存储单元阵列(10)、ECC(纠错码)电路(20)和判定电路(40)。ECC电路(20)计算出要写入存储单元阵列(10)中的写入数据的纠错码。当写入数据的数据宽度小于预定数据宽度时,判定电路(40)使ECC电路(20)无效。
文档编号G11C29/42GK1963950SQ20061014465
公开日2007年5月16日 申请日期2006年11月10日 优先权日2005年11月11日
发明者高桥弘行 申请人:恩益禧电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1