首页> 中国专利> 数据错误检查方法、数据传输方法和半导体存储装置

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

摘要

本发明公开了一种存储系统的各种实施例。在一个示例性实施例中,存储系统可以包括:半导体存储装置,被配置为在读取操作中产生要经由多个数据输入/输出端子传送的数据组的列方向和行方向上的错误检查信号,并将错误检查信号与数据组一起输出;以及存储控制器,被配置为控制半导体存储装置的数据读取/写入操作,通过在写入操作中执行在要传送的数据组的列方向和行方向上的错误检查来产生错误检查信号,并将错误检查信号与数据组一起提供给半导体存储装置。

著录项

  • 公开/公告号CN102467975A

    专利类型发明专利

  • 公开/公告日2012-05-23

    原文格式PDF

  • 申请/专利权人 海力士半导体有限公司;

    申请/专利号CN201110047426.9

  • 发明设计人 李仲缟;

    申请日2011-02-28

  • 分类号

  • 代理机构北京弘权知识产权代理事务所(普通合伙);

  • 代理人郭放

  • 地址 韩国京畿道

  • 入库时间 2023-12-18 05:12:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-04-27

    授权

    授权

  • 2013-11-27

    实质审查的生效 IPC(主分类):G11C29/44 申请日:20110228

    实质审查的生效

  • 2012-05-23

    公开

    公开

说明书

相关申请的交叉引用

本申请要求2010年10月29日向韩国知识产权局提交的韩国专利申请 No.10-2010-0106861的优先权,其全部内容通过引用合并在本文中。

技术领域

本发明总体而言涉及数据错误检查,更具体而言涉及数据错误检查电 路、数据错误检查方法、使用数据错误检查功能的数据传输方法、使用数据 错误检查功能的半导体存储装置和存储系统。

背景技术

典型的半导体电路可以具有用于检查在数据中是否发生了错误的错误 检查功能,以便改善高速数据传输的数据可靠性。一种典型的错误检查方法 是循环冗余检查(CRC,cyclic redundancy check)功能。

图1是一种具有传统的CRC功能的典型半导体电路的图示,其中经由 各个数据输入/输出端子DQ0至DQ7在十个单位时间间隔(UI,unit intervals)内执行数据传输。

在这十个单位时间间隔中,将八个单位时间间隔(或表示成BL8(突发 长度(Burst Length)=8))分配给8比特的数据,将紧接着这八个单位时间 间隔的第九个单位时间间隔分配给1比特的CRC值(CRC_0至CRC_7), 并分配了实际上不使用的第十个单位时间间隔。可以将第十个单位时间间隔 固定为逻辑高值‘1’。

根据现有技术,这种典型的半导体电路的CRC逻辑例如必须表达成诸 如P(x)=x^8+x^5+x^3+x^2+x+1的多项式形式,以便检测多比特 错误,诸如单比特错误、双比特错误或三比特错误。

为了配置这种CRC逻辑,总共需要328个2输入异或门和42个多项式 方程式,造成电路面积的增加。

另外,最终的CRC值是通过传输经过六级异或门路径而计算的,造成 了六级门延迟。

根据现有技术的典型半导体电路具有的一个问题是,电路面积和错误检 查时间因CRC逻辑所要求的方程式的原因而增加。

发明内容

因此,需要一种可以解决上述问题的改进的半导体电路。但是应当理解 的是,本发明的一些方面并不一定要解决这种问题。

在以下的描述中,某些方面和具体实施例将会清楚。应当理解的是,这 些方面和实施例仅仅是示例性的,从广义上而言,在不具有这些方面和实施 例的一个或更多个特征的情况下仍可以实施本发明。

在一个示例性实施例中,提出了一种数据错误检查电路,所述数据错误 检查电路被配置为通过对列数据集执行错误检查来产生错误检查信号,其中 所述集包括经由多个数据输入/输出端子而输入/输出的多个数据段。

在另一个示例性实施例中,提出了一种数据错误检查方法,所述方法包 括以下步骤:在时钟信号的每半个周期对经由多个输入端子连续输入的数据 执行第一错误检查;在时钟信号的每半个周期对经由所述多个输入端子输入 的数据执行第二错误检查;以及根据第一错误检查的结果和第二错误检查的 结果来确定在数据中是否发生了错误。

在另一个示例性实施例中,提出了一种数据传输方法,所述方法包括以 下步骤:对准备用于外部传输的多个数据段的列数据集和行数据集执行错误 检查来产生错误检查信号;以及通过将错误检查信号设置到分配给列数据集 的多个单位时间间隔中来执行数据传输。

在另一个示例性实施例中,提出了一种半导体存储装置,所述半导体存 储装置包括:错误检查电路,被配置为通过执行在数据组的列方向上和行方 向上的错误检查操作来产生错误检查信号;输入/输出电路,被配置为将错误 检查信号设置到分配给数据组的单位时间间隔内,并传送错误检查信号;以 及核心模块,所述核心模块包括用于记录数据组的存储区域。

在另一个示例性实施例中,提出了一种存储系统,所述存储系统包括: 半导体存储装置,被配置为在读取操作中产生在要经由多个数据输入/输出端 子而传送的数据组的列方向上和行方向上的错误检查信号,并将错误检查信 号与数据组一起输出;以及存储控制器,被配置为控制半导体存储装置的数 据读取/写入操作,通过在写入操作中执行在要传送的数据组的列方向上和行 方向上的错误检查来产生错误检查信号,并将错误检查信号与数据组一起提 供给半导体存储装置。

附图说明

合并在本说明书中并构成本说明书的一部分的附图解释根据本发明的 多种实施例,并且与说明书描述一起用于解释本发明的原理。

图1是使用典型的错误检查功能的数据传输的时序图;

图2是根据一个示例性实施例的使用错误检查功能的数据传输的时序 图;

图3是根据一个示例性实施例的错误检查信号发生电路的电路图;

图4是根据一个示例性实施例的存储系统的框图;以及

图5是说明根据一个示例性实施例的图4所示的错误检查电路的内部配 置的框图。

具体实施方式

现在将详细参考根据本发明的示例性实施例和附图中所图示的实例。只 要有可能,在全部的附图中将使用相同的附图标记来表示相同或相似的部 件。

根据一个示例性实施例,对经由数据输入/输出端子DQ0至DQ7而传送 的数据执行列方向上的第一错误检查和行方向上的第二错误检查以产生相 应的错误检查信号,并经由数据总线将错误检查信号传送到外部。

典型地,为错误检查信号分配一个单位时间间隔。即,如图1所示,使 用五个时钟信号CLK以便传输8比特的数据和1比特的错误检查信号。因 此,由于两个单位时间间隔被分配给一个时钟信号,因此在典型的实践中第 十个单位时间间隔是冗余的。

在此方面,根据一个实施例,使用预定的单位时间间隔和冗余的单位时 间间隔来传输两种错误检查信号。

即,如图2所示,根据一个实施例,可以在十个单位时间间隔(UI)内 经由各个数据输入/输出端子DQ0至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>)分配给第十个单位时间间隔。

可以通过对数据输入/输出端子DQ0至DQ7的列方向上的数据集q00至 q07、q10至q17、...、q70至q77执行错误检查来产生列错误检查信号 (CRC_c<0:7>)。

可以通过对数据输入/输出端子DQ0至DQ7的行方向上的数据集q00至 q70、q01至q71、...、q07至q77执行错误检查来产生行错误检查信号 (CRC_r<0:7>)。

在下文,将描述通过执行列方向和行方向上的错误检查来产生列错误检 查信号(CRC_c<0:7>)和行错误检查信号(CRC_r<0:7>)的错误检查信号 发生电路。

根据一个示例性实施例的错误检查信号发生电路314即CRC逻辑,包 括第一发生单元315和第二发生单元316。

第一发生单元315可以被配置为通过对数据输入/输出端子DQ0至DQ7 的列方向上的数据集q00至q07、q10至q17、...、q70至q77执行错误检查 来产生列错误检查信号(CRC_c<0:7>)。

第一发生单元315可以被配置为通过对数据输入/输出端子DQ0至DQ7 的列方向上的各个数据集q00至q07、q10至q17、...、q70至q77的所有数 据执行异或运算来产生列错误检查信号(CRC_c<0:7>)。

第一发生单元315可以包括总共56个2输入异或门,即,为列方向上 的每个数据集提供七个2输入异或门。

第二发生单元316可以被配置为通过对数据输入/输出端子DQ0至DQ7 的行方向上的数据集q00至q70、q01至q71、...、q07至q77执行错误检查 来产生行错误检查信号(CRC_r<0:7>)。

第二发生单元316可以被配置为通过对数据输入/输出端子DQ0至DQ7 的行方向上的各个数据集q00至q70、q01至q71、...、q07至q77的所有数 据执行异或运算来产生行错误检查信号(CRC_r<0:7>)。

第二发生单元316可以包括总共56个2输入异或门,即,为行方向上 的每个数据集提供七个2输入异或门。

结果,根据一个示例性实施例,为了配置CRC逻辑,使用总共112个2 输入异或门,从而与需要总共328个2输入异或门的现有技术相比,电路面 积可以相对减少到约1/3。换言之,电路面积效率可以增加到约三倍。

另外,根据一个示例性实施例,最终的CRC值、或列错误检查信号 (CRC_c<0:7>)和行错误检查信号(CRC_r<0:7>)是通过传输经过三级异 或门路径来计算的,从而与需要六级异或门路径的现有技术相比,可以用两 倍的速度来产生错误检查信号。

根据上述实施例,相比于典型的系统,可以减少电路面积和错误检查时 间,同时实质地维持与根据典型的系统的错误检查能力实质上相等的错误检 查能力,这将在下面详细描述。

下面将描述检测单比特错误的方法。

举例来说,假设经由DQ0输入“01000110”,在第一数据中发生错误, 并且输入CRC_c<0>=0。

因此,通过对经由DQ0输入的数据“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>检测单比特错误而可以检测双比 特错误。

举例来说,假设经由DQ0输入数据“00000110”,在第一数据和第二数 据中发生错误,并输入CRC_c<0>=0。

通过对经由DQ0输入的数据“00000110”执行错误检查而获得的结果是 CRC_c<0>=0。因此,由于所接收的CRC_c<0>实质上等于上述计算得到的 CRC_c<0>,因此不能检测双比特错误。

但是,由于除了经由DQ0输入的数据之外的数据是正常的,因此通过 CRC_r<0>和CRC_r<1>检测单比特错误,从而可以检测双比特错误。

下面将描述检测诸如三比特错误的多比特错误的方法。

当在第i个DQ中发生了三比特错误时,通过CRC_c<i>检测出单比特 错误,且还通过CRC_r<j>、CRC_r<k>和CRC_r<l>检测处单比特错误,从 而可以检测三比特错误。

上述的错误检查功能可用于执行数据传输的半导体存储装置或存储系 统。

在下文,将描述根据另一个示例性实施例的半导体存储装置或存储系 统。

图4图示了根据本发明的另一个示例性实施例的存储系统100,所述存 储系统100包括半导体存储装置300和存储控制器400。

半导体存储装置300可以被配置为响应于读取命令来产生在要经由多个 数据输入/输出端子DQ0至DQ7而传输的数据组的列方向和行方向上的错误 检查信号,并将错误检查信号与数据组一起输出。

半导体存储装置300可以被配置为将错误检查信号设置到分配给数据组 的全体单位时间间隔中的冗余单位时间间隔中,并传送错误检查信号。

半导体存储装置300可以被配置为响应于写入命令来产生在经由多个数 据输入/输出端子DQ0至DQ7而接收的数据组的列方向和行方向上的错误检 查信号,并将所述错误检查信号与连同数据组一起接收的错误检查信号进行 比较,以检查在数据组中是否发生了错误,由此控制数据写入操作。另外, 半导体存储装置300可以被配置为将所接收的数据组的错误检查信息提供给 存储控制器400。

半导体存储装置300包括错误检查电路310、输入/输出电路320和核心 模块330。

错误检查电路310可以被配置为通过执行在数据组的列方向和行方向上 的错误检查操作来产生错误检查信号CRC_CAL。

错误检查电路310可以被配置为通过将外部错误检查信号CRC_RX与 在错误检查电路310中所产生的错误检查信号CRC_CAL进行比较来产生比 较信号CRC_CMP。

输入/输出电路320可以包括多个数据输入/输出端子DQ0至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中的数据传 输的十个单位时间间隔中的第九个单位时间间隔和冗余的第十个单位时间 间隔。

虽然上面已经描述了一些实施例,但是本领域技术人员将会理解的是, 描述的实施例仅仅是示例性的。因此,本文描述的数据错误检查电路、数据 错误检查方法、使用数据错误检查功能的数据传输方法和使用数据错误检查 功能的半导体存储装置和存储系统不应当基于所描述的实施例来限定。确切 地说,本文描述的数据错误检查电路、数据错误检查方法、使用数据错误检 查功能的数据传输方法和使用数据错误检查功能的半导体存储装置和存储 系统应当仅仅根据所附权利要求书并与上面的描述和附图相结合来限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号