数据错误检查方法、数据传输方法和半导体存储装置的制作方法

文档序号:6771075阅读:154来源:国知局
专利名称:数据错误检查方法、数据传输方法和半导体存储装置的制作方法
技术领域
本发明总体而言涉及数据错误检查,更具体而言涉及数据错误检查电路、数据错误检查方法、使用数据错误检查功能的数据传输方法、使用数据错误检查功能的半导体存储装置和存储系统。
背景技术
典型的半导体电路可以具有用于检查在数据中是否发生了错误的错误检查功能, 以便改善高速数据传输的数据可靠性。一种典型的错误检查方法是循环冗余检查(CRC, cyclic redundancy check)功會旨。图1是一种具有传统的CRC功能的典型半导体电路的图示,其中经由各个数据输入/输出端子DQO至DQ7在十个单位时间间隔(ULunitintervals)内执行数据传输。在这十个单位时间间隔中,将八个单位时间间隔(或表示成BL8(突发长度(Burst Length) = 8))分配给8比特的数据,将紧接着这八个单位时间间隔的第九个单位时间间隔分配给1比特的CRC值(CRC_0至CRC_7),并分配了实际上不使用的第十个单位时间间隔。 可以将第十个单位时间间隔固定为逻辑高值‘1’。根据现有技术,这种典型的半导体电路的CRC逻辑例如必须表达成诸如P(X)= x"8+x"5+x"3+x"2+x+l的多项式形式,以便检测多比特错误,诸如单比特错误、双比特错误或三比特错误。为了配置这种CRC逻辑,总共需要3 个2输入异或门和42个多项式方程式,造成电路面积的增加。另外,最终的CRC值是通过传输经过六级异或门路径而计算的,造成了六级门延迟。根据现有技术的典型半导体电路具有的一个问题是,电路面积和错误检查时间因 CRC逻辑所要求的方程式的原因而增加。

发明内容
因此,需要一种可以解决上述问题的改进的半导体电路。但是应当理解的是,本发明的一些方面并不一定要解决这种问题。在以下的描述中,某些方面和具体实施例将会清楚。应当理解的是,这些方面和实施例仅仅是示例性的,从广义上而言,在不具有这些方面和实施例的一个或更多个特征的情况下仍可以实施本发明。在一个示例性实施例中,提出了一种数据错误检查电路,所述数据错误检查电路被配置为通过对列数据集执行错误检查来产生错误检查信号,其中所述集包括经由多个数据输入/输出端子而输入/输出的多个数据段。在另一个示例性实施例中,提出了一种数据错误检查方法,所述方法包括以下步骤在时钟信号的每半个周期对经由多个输入端子连续输入的数据执行第一错误检查;在时钟信号的每半个周期对经由所述多个输入端子输入的数据执行第二错误检查;以及根据第一错误检查的结果和第二错误检查的结果来确定在数据中是否发生了错误。在另一个示例性实施例中,提出了一种数据传输方法,所述方法包括以下步骤对准备用于外部传输的多个数据段的列数据集和行数据集执行错误检查来产生错误检查信号;以及通过将错误检查信号设置到分配给列数据集的多个单位时间间隔中来执行数据传输。在另一个示例性实施例中,提出了一种半导体存储装置,所述半导体存储装置包括错误检查电路,被配置为通过执行在数据组的列方向上和行方向上的错误检查操作来产生错误检查信号;输入/输出电路,被配置为将错误检查信号设置到分配给数据组的单位时间间隔内,并传送错误检查信号;以及核心模块,所述核心模块包括用于记录数据组的存储区域。在另一个示例性实施例中,提出了一种存储系统,所述存储系统包括半导体存储装置,被配置为在读取操作中产生在要经由多个数据输入/输出端子而传送的数据组的列方向上和行方向上的错误检查信号,并将错误检查信号与数据组一起输出;以及存储控制器,被配置为控制半导体存储装置的数据读取/写入操作,通过在写入操作中执行在要传送的数据组的列方向上和行方向上的错误检查来产生错误检查信号,并将错误检查信号与数据组一起提供给半导体存储装置。


合并在本说明书中并构成本说明书的一部分的附图解释根据本发明的多种实施例,并且与说明书描述一起用于解释本发明的原理。图1是使用典型的错误检查功能的数据传输的时序图;图2是根据一个示例性实施例的使用错误检查功能的数据传输的时序图;图3是根据一个示例性实施例的错误检查信号发生电路的电路图;图4是根据一个示例性实施例的存储系统的框图;以及图5是说明根据一个示例性实施例的图4所示的错误检查电路的内部配置的框图。
具体实施例方式现在将详细参考根据本发明的示例性实施例和附图中所图示的实例。只要有可能,在全部的附图中将使用相同的附图标记来表示相同或相似的部件。根据一个示例性实施例,对经由数据输入/输出端子DQO至DQ7而传送的数据执行列方向上的第一错误检查和行方向上的第二错误检查以产生相应的错误检查信号,并经由数据总线将错误检查信号传送到外部。典型地,为错误检查信号分配一个单位时间间隔。即,如图1所示,使用五个时钟信号CLK以便传输8比特的数据和1比特的错误检查信号。因此,由于两个单位时间间隔被分配给一个时钟信号,因此在典型的实践中第十个单位时间间隔是冗余的。在此方面,根据一个实施例,使用预定的单位时间间隔和冗余的单位时间间隔来传输两种错误检查信号。S卩,如图2所示,根据一个实施例,可以在十个单位时间间隔(UI)内经由各个数据输入/输出端子DQO至DQ7来执行包括错误检查功能(即CRC功能)的数据传输。在这十个单位时间间隔中,将八个单位时间间隔(也表示成BL8 (突发长度=8)) 分配给数据,可以将紧接着这八个单位时间间隔的第九个单位时间间隔分配给1比特的列错误检查信号(CRC_c<0:7>),并将第十个单位时间间隔分配给1比特的行错误检查信号 (CRC_r<0 7 。在上述实施例中,可以将1比特的行错误检查信号(CRC_r<0:7>)分配给第十个单位时间间隔。但是,也可以将1比特的行错误检查信号(CRC_r<0:7>)分配给第九个单位时间间隔,并将1比特的列错误检查信号(CRC_c<0:7>)分配给第十个单位时间间隔。可以通过对数据输入/输出端子DQO至DQ7的列方向上的数据集q00至q07、ql0 至ql7.....q70至q77执行错误检查来产生列错误检查信号(CRC_c<0:7>)。可以通过对数据输入/输出端子DQO至DQ7的行方向上的数据集q00至q70、q01 至q71.....q07至q77执行错误检查来产生行错误检查信号(CRC_r<0 7>)。在下文,将描述通过执行列方向和行方向上的错误检查来产生列错误检查信号 (CRC_c<0:7>)和行错误检查信号(CRC_r<0:7>)的错误检查信号发生电路。根据一个示例性实施例的错误检查信号发生电路314即CRC逻辑,包括第一发生单元315和第二发生单元316。第一发生单元315可以被配置为通过对数据输入/输出端子DQO至DQ7的列方向
上的数据集q00至q07、qlO至ql7.....q70至q77执行错误检查来产生列错误检查信号
(CRC_c<0 7 。第一发生单元315可以被配置为通过对数据输入/输出端子DQO至DQ7的列方向
上的各个数据集q00至q07、qlO至ql7.....q70至q77的所有数据执行异或运算来产生
列错误检查信号(CRC_c<0:7>)。第一发生单元315可以包括总共56个2输入异或门,即,为列方向上的每个数据集提供七个2输入异或门。第二发生单元316可以被配置为通过对数据输入/输出端子DQO至DQ7的行方向
上的数据集q00至q70、q01至q71.....q07至q77执行错误检查来产生行错误检查信号
(CRC_r<0 7 。第二发生单元316可以被配置为通过对数据输入/输出端子DQO至DQ7的行方向
上的各个数据集q00至q70、q01至q71.....q07至q77的所有数据执行异或运算来产生
行错误检查信号(CRC_r<0:7>)。第二发生单元316可以包括总共56个2输入异或门,即,为行方向上的每个数据集提供七个2输入异或门。结果,根据一个示例性实施例,为了配置CRC逻辑,使用总共112个2输入异或门, 从而与需要总共3 个2输入异或门的现有技术相比,电路面积可以相对减少到约1/3。换言之,电路面积效率可以增加到约三倍。另外,根据一个示例性实施例,最终的CRC值、或列错误检查信号(CRC_c<0:7>)和行错误检查信号(CRC_r<0:7>)是通过传输经过三级异或门路径来计算的,从而与需要六级异或门路径的现有技术相比,可以用两倍的速度来产生错误检查信号。根据上述实施例,相比于典型的系统,可以减少电路面积和错误检查时间,同时实质地维持与根据典型的系统的错误检查能力实质上相等的错误检查能力,这将在下面详细描述。下面将描述检测单比特错误的方法。举例来说,假设经由DQO输入“01000110”,在第一数据中发生错误,并且输入CRC_ c<0> = 0。因此,通过对经由DQO输入的数据“01000110”执行错误检查而获得的结果是CRC_ c<0> = 1。因此,由于所接收的CRC_c<0>不同于上述计算得到的CRC_c<0>,因此可以检测单比特错误。采用与CRC_c<0>的情况相同的方式,可以通过CRC_r<0>来检测单比特错误。下面将描述检测诸如双比特错误的多比特错误的方法。当在第i个DQ中发生了双比特错误时,通过CRC_c<i>不能进行错误检测。但是, 通过CRC_r<j>和CRC_r<k>检测单比特错误而可以检测双比特错误。举例来说,假设经由DQO输入数据“00000110”,在第一数据和第二数据中发生错误,并输入CRC_c<0> = 0。通过对经由DQO输入的数据“00000110”执行错误检查而获得的结果是CRC_c<0> =0。因此,由于所接收的CRC_c<0>实质上等于上述计算得到的CRC_c<0>,因此不能检测双比特错误。但是,由于除了经由DQO输入的数据之外的数据是正常的,因此通过CRC_r<0>和 CRC_r<l>检测单比特错误,从而可以检测双比特错误。下面将描述检测诸如三比特错误的多比特错误的方法。当在第i个DQ中发生了三比特错误时,通过CRC_c<i>检测出单比特错误,且还通过CRC_r < j>、CRC_r<k>和CRC_r<l>检测处单比特错误,从而可以检测三比特错误。上述的错误检查功能可用于执行数据传输的半导体存储装置或存储系统。在下文,将描述根据另一个示例性实施例的半导体存储装置或存储系统。图4图示了根据本发明的另一个示例性实施例的存储系统100,所述存储系统100 包括半导体存储装置300和存储控制器400。半导体存储装置300可以被配置为响应于读取命令来产生在要经由多个数据输入/输出端子DQO至DQ7而传输的数据组的列方向和行方向上的错误检查信号,并将错误检查信号与数据组一起输出。半导体存储装置300可以被配置为将错误检查信号设置到分配给数据组的全体单位时间间隔中的冗余单位时间间隔中,并传送错误检查信号。半导体存储装置300可以被配置为响应于写入命令来产生在经由多个数据输入/ 输出端子DQO至DQ7而接收的数据组的列方向和行方向上的错误检查信号,并将所述错误检查信号与连同数据组一起接收的错误检查信号进行比较,以检查在数据组中是否发生了错误,由此控制数据写入操作。另外,半导体存储装置300可以被配置为将所接收的数据组的错误检查信息提供给存储控制器400。 半导体存储装置300包括错误检查电路310、输入/输出电路320和核心模块330。错误检查电路310可以被配置为通过执行在数据组的列方向和行方向上的错误检查操作来产生错误检查信号CRC_CAL。错误检查电路310可以被配置为通过将外部错误检查信号CRC_RX与在错误检查电路310中所产生的错误检查信号CRC_CAL进行比较来产生比较信号CRC_CMP。输入/输出电路320可以包括多个数据输入/输出端子DQO至DQ7。另外,输入/ 输出电路320可以包括与数据输入/输出相关的电路结构。输入/输出电路320可以被配置为将错误检查信号CRC_CAL设置到分配给数据组的全体单位时间间隔中,并传送错误检查信号CRC_CAL。输入/输出电路320可以经由通信总线500而被耦接至存储控制器400。通信总线500可以包括用于数据、地址和命令的总线。核心模块330可以包括用于记录数据的存储区域和用于将数据记录在存储区域上或输出所记录的数据的各种电路结构。存储控制器400可以被配置为控制半导体存储装置300的数据读取/写入操作, 通过在写入操作中执行数据组的列方向和行方向上的错误检查来产生错误检查信号CRC_ RX,并将错误检查信号CRC_RX与数据组一起提供给半导体存储装置300。半导体存储装置300的错误检查电路310和存储控制器400的错误检查电路410 可以使用参照图2和图3所述的错误检查方法来配置。图5图示了错误检查电路310,所述错误检查电路310包括错误检查信号发生电路 314和比较单元317。错误检查信号发生电路314可以被配置为通过执行数据组的列方向和行方向上的错误检查操作来产生错误检查信号CRC_CAL。错误检查信号发生电路314可以被配置为如图3所示。因此,错误检查信号CRC_ CAL可以包括列错误检查信号(CRC_c<0:7>)和行错误检查信号(CRC_r<0:7>)。比较单元317可以被配置为通过将由存储控制器400提供的错误检查信号CRC_ RX与由错误检查信号发生电路314输出的错误检查信号CRC_CAL进行比较来产生比较信号 CRC_CMP。比较信号CRC_MP可以用作错误检查信息。因此,可以将比较信号CRC_CMP提供给核心模块330或输入/输出电路320,以便减少错误数据被记录在半导体存储装置300上。 另外,可以将比较信号CRC_CMP提供给存储控制器400以便请求数据重新传输。下面将描述根据一个示例性实施例的具有上述配置的存储系统100的操作。在写入操作的情况下,存储控制器400可以通过执行在数据的列方向和行方向上的错误检查来产生错误检查信号CRC_RX。存储控制器400经由数据总线提供数据和错误检查信号CRC_RX给半导体存储装置 300。此时,将错误检查信号CRC_RX即列错误检查信号(CRC_c<0:7>)和行错误检查信号(CRC_r<0:7>)传送到被分配用于每个DQ中的数据传输的十个单位时间间隔中的第九个单位时间间隔和冗余的第十个单位时间间隔。半导体存储装置300经由数据总线接收数据和错误检查信号CRC_RX。半导体存储装置300的错误检查电路310通过执行在所接收的数据的列方向和行方向上的错误检查来产生错误检查信号CRC_CAL,并通过将错误检查信号CRC_CAL与错误检查信号CRC_RX进行比较来产生比较信号CRC_CMP。当比较信号CRC_CMP处在确定了错误检查信号CRC_CAL与错误检查信号CRC_RX 不一致的电平时,半导体存储装置300的数据写入停止,并向存储控制器400发送数据重新传输请求。在读取操作的情况下,半导体存储装置300的错误检查电路310通过执行在要传送的数据的列方向和行方向上的错误检查来产生错误检查信号CRC_CAL。半导体存储装置300可以经由数据总线将数据和错误检查信号CRC_CAL提供给存储控制器400。此时,将错误检查信号CRC_CAL即列错误检查信号(CRC_c<0:7>)和行错误检查信号(CRC_r<0:7>)传送到被分配用于每个DQ中的数据传输的十个单位时间间隔中的第九个单位时间间隔和冗余的第十个单位时间间隔。虽然上面已经描述了一些实施例,但是本领域技术人员将会理解的是,描述的实施例仅仅是示例性的。因此,本文描述的数据错误检查电路、数据错误检查方法、使用数据错误检查功能的数据传输方法和使用数据错误检查功能的半导体存储装置和存储系统不应当基于所描述的实施例来限定。确切地说,本文描述的数据错误检查电路、数据错误检查方法、使用数据错误检查功能的数据传输方法和使用数据错误检查功能的半导体存储装置和存储系统应当仅仅根据所附权利要求书并与上面的描述和附图相结合来限定。
权利要求
1.一种半导体存储装置,所述半导体存储装置包括数据错误检查电路,其中,所述数据错误检查电路被配置为通过对列数据集和行数据集执行错误检查来产生错误检查信号,所述列数据集和所述行数据集包括经由多个数据输入/输出端子而输入或输出的多个数据段。
2.如权利要求1所述的半导体存储装置,其中,对所述列数据集的错误检查与对所述行数据集的错误检查被同时地执行。
3.如权利要求1所述的半导体存储装置,其中,所述数据错误检查电路包括第一发生单元,所述第一发生单元被配置为通过对所述列数据集执行错误检查来产生列错误检查信号;以及第二发生单元,所述第二发生单元被配置为通过对所述行数据集执行错误检查来产生行错误检查信号。
4.如权利要求1所述的半导体存储装置,其中,所述数据错误检查电路包括多个异或门,并且所述数据错误检查电路被配置为通过由所述多个异或门对所述列数据集和所述行数据集执行运算来产生所述错误检查信号。
5.一种数据错误检查方法,包括以下步骤在时钟信号的每半个周期对经由多个输入端子连续输入的数据执行第一错误检查;在所述时钟信号的每半个周期对经由所述多个输入端子输入的数据执行第二错误检查;以及根据所述第一错误检查的结果和所述第二错误检查的结果来确定是否发生了错误。
6.如权利要求5所述的数据错误检查方法,其中,通过执行异或运算来执行所述第一错误检查和所述第二错误检查。
7.如权利要求5所述的数据错误检查方法,其中,确定是否发生了错误的步骤包括以下步骤根据所述第一错误检查的结果来检测单比特错误。
8.如权利要求5所述的数据错误检查方法,其中,在确定是否发生了错误的步骤中包括以下步骤通过将所述第一错误检查的结果与所述第二错误检查的结果进行组合来检测多比特错误。
9.一种数据传输方法,包括以下步骤对准备用于外部传输的多个数据段的列数据集和行数据集执行错误检查来产生错误检查信号;以及将所述错误检查信号设置到分配给所述列数据集的多个单位时间间隔中来执行数据传输。
10.如权利要求9所述的数据传输方法,其中,在产生错误检查信号的步骤中,所述错误检查信号包括通过对所述列数据集和所述行数据集执行异或运算而获得的结果。
11.如权利要求9所述的数据传输方法,其中,所述错误检查信号包括列错误检查信号和行错误检查信号,以及在执行数据传输的步骤中,将所述列错误检查信号和所述行错误检查信号之一设置到所述多个单位时间间隔的冗余单位时间间隔中。
12.—种半导体存储装置,包括错误检查电路,所述错误检查电路被配置为通过执行在数据组的列方向和行方向上的错误检查操作来产生错误检查信号;输入/输出电路,所述输入/输出电路被配置为将所述错误检查信号设置到分配给所述数据组的单位时间间隔中,并传送所述错误检查信号;以及核心模块,所述核心模块包括用于记录所述数据组的存储区域。
13.如权利要求12所述的半导体存储装置,其中,所述错误检查电路被配置为通过将外部错误检查信号与在所述错误检查电路中产生的所述错误检查信号进行比较来产生比较信号。
14.如权利要求13所述的半导体存储装置,其中,所述比较信号被提供给所述核心模块或所述输入/输出电路,以便减少错误数据被记录在所述半导体存储装置上。
15.如权利要求12所述的半导体存储装置,其中,所述输入/输出电路包括数据输入/ 输出端子,所述数据输入/输出端子用于根据所述单位时间间隔传送数据组的列方向上的数据集。
16.如权利要求15所述的半导体存储装置,其中,所述错误检查信号包括列错误检查信号和行错误检查信号,以及所述输入/输出电路被配置为将所述列方向上的数据集、所述列错误检查信号和所述行错误检查信号设置到分配给所述列方向上的数据集的单位时间间隔中,并传送所述列方向上的数据集、所述列错误检查信号和所述行错误检查信号。
17.一种存储系统,包括半导体存储装置,所述半导体存储装置被配置为在读取操作中产生要经由多个数据输入/输出端子传送的数据组的列方向和行方向上的错误检查信号,并将错误检查信号与数据组一起输出;以及存储控制器,所述存储控制器被配置为控制所述半导体存储装置的数据读取/写入操作,通过在写入操作中执行在要传送的数据组的列方向和行方向上的错误检查来产生错误检查信号,并将错误检查信号与数据组一起提供给所述半导体存储装置。
18.如权利要求17所述的存储系统,其中,所述半导体存储装置被配置为在读取操作中将由所述半导体存储装置产生的所述错误检查信号设置到分配给要传送的所述数据组的单位时间间隔中,并经由所述多个数据输入/输出端子输出所述错误检查信号。
19.如权利要求17所述的存储系统,其中,所述半导体存储装置被配置为产生在经由所述多个数据输入/输出端子接收的数据的列方向和行方向上的错误检查信号,并将所述错误检查信号与由所述存储控制器提供的所述错误检查信号进行比较来检查在所述数据组中是否发生了错误,由此控制数据写入操作。
20.如权利要求17所述的存储系统,其中,所述半导体存储装置被配置为将通过检查是否发生了错误而获得的结果提供给所述存储控制器。
21.如权利要求17所述的存储系统,其中,所述半导体存储装置包括错误检查电路,所述错误检查电路被配置为通过执行在所述数据组的列方向和行方向上的错误检查操作来产生所述错误检查信号;多个数据输入/输出端子,所述多个数据输入/输出端子被配置为将所述错误检查信号设置到分配给所述数据组的单位时间间隔中,并将所述错误检查信号传输至外部;以及核心模块,所述核心模块包括用于记录所述数据组的存储区域。
22.如权利要求19所述的存储系统,其中,所述错误检查电路包括错误检查信号发生电路,所述错误检查信号发生电路被配置为通过执行在所述数据组的列方向与行方向上的错误检查操作来产生所述错误检查信号;以及比较单元,所述比较单元被配置为通过将外部错误检查信号与由所述错误检查信号发生电路产生的所述错误检查信号进行比较来产生比较信号。
23.如权利要求22所述的存储系统,其中,所述比较信号被提供至核心模块或数据输入/输出端子,以便减少错误数据被记录在所述半导体存储装置上。
24.如权利要求17所述的存储系统,其中,所述存储控制器被配置为在写入操作中将由所述存储控制器产生的所述错误检查信号设置到分配给要传送的所述数据组的单位时间间隔中,并将所述错误检查信号提供给所述半导体存储装置。
全文摘要
本发明公开了一种存储系统的各种实施例。在一个示例性实施例中,存储系统可以包括半导体存储装置,被配置为在读取操作中产生要经由多个数据输入/输出端子传送的数据组的列方向和行方向上的错误检查信号,并将错误检查信号与数据组一起输出;以及存储控制器,被配置为控制半导体存储装置的数据读取/写入操作,通过在写入操作中执行在要传送的数据组的列方向和行方向上的错误检查来产生错误检查信号,并将错误检查信号与数据组一起提供给半导体存储装置。
文档编号G11C29/44GK102467975SQ20111004742
公开日2012年5月23日 申请日期2011年2月28日 优先权日2010年10月29日
发明者李仲缟 申请人:海力士半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1