CN114327997A - 用于半导体装置的循环冗余计算的设备和方法 - Google Patents
用于半导体装置的循环冗余计算的设备和方法 Download PDFInfo
- Publication number
- CN114327997A CN114327997A CN202110619207.7A CN202110619207A CN114327997A CN 114327997 A CN114327997 A CN 114327997A CN 202110619207 A CN202110619207 A CN 202110619207A CN 114327997 A CN114327997 A CN 114327997A
- Authority
- CN
- China
- Prior art keywords
- crc
- bits
- data
- circuit
- circuits
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
Abstract
本公开涉及用于半导体装置的循环冗余计算的设备和方法。描述了用于半导体装置的数据错误校验的设备和方法。实例性设备包含多个数据队列电路和CRC组合电路。所述多个数据队列电路包含多个CRC计算器电路。所述多个CRC计算器电路包含一个CRC计算器电路。所述CRC计算器电路接收多个数据位和一或多个校验位,并且进一步提供多个CRC计算位。所述CRC组合电路从所述多个CRC计算器电路接收所述多个CRC计算位,并且至少部分地响应于所述多个CRC计算位而进一步提供结果信号。
Description
技术领域
本公开涉及用于半导体装置的循环冗余计算的设备和方法。
背景技术
半导体存储器要求高数据可靠性、高速存储器存取、较低功耗和减小芯片尺寸的特征。为了提高数据容量,已经采用了多个存储体群组的多个存储器单元阵列。通常,特定的存储体群组的每条数据总线与其它存储体群组的数据总线相邻。然而,为了防止数据总线上的噪声,存储体群组的数据总线彼此间隔开,或者屏蔽线设置在数据总线之间。另外,为了检测意外的数据变化,在半导体装置中采用循环冗余校验(CRC)。CRC计算器从数据队列(DQ)和CRC位接收数据输入并使用CRC位来确定数据的准确度。CRC位在数据总线的附加信号线上传输。传输CRC位由于用于CRC位的附加信号线而需要附加的数据总线区域,并且需要将数据总线间隔开。
近年来,已经引入了三维(3D)存储器装置。一些3D存储器装置通过垂直地堆叠裸片并使用贯通硅(或贯通衬底)通孔(TSV)互连裸片而形成。3D存储器装置的益处包含减少电路延迟和功耗的较短互连、层之间允许不同层中的功能块之间有宽带宽总线的数个垂直通孔,以及相当小的占地面积。因此,3D存储器装置有助于较高的存储器存取速度、较低的功耗和芯片尺寸减小。实例性3D存储器装置包含混合存储器立方体(HMC)和高带宽存储器(HBM)。另一种类型的3D存储器装置被称为“主从存储器”。例如,主从存储器是包含彼此垂直堆叠的多个随机存取存储器(DRAM)管芯的一种存储器,其中DRAM管芯中的最下面的一个DRAM管芯用作主管芯,而DRAM管芯中其余一或多个DRAM管芯用作从管芯。
近来,许多存储器装置支持用于错误检测的CRC校验和功能。当在此类装置中实施CRC错误检测时,主管芯以及从管芯执行CRC计算。层之间的大量TSV进一步包含传输CRC位的大量TSV以及大量数据位。此类TSV在每个管芯上占据额外面积。
发明内容
一方面,本公开提供了一种设备,所述设备包括:数据队列电路,所述数据队列电路包括:采样器,所述采样器被配置为接收多个数据位和一或多个校验位,并且进一步被配置为基于内部时钟而提供所述多个数据位和所述一或多个校验位;以及循环冗余校验(CRC)计算器电路,所述CRC计算器电路被配置为接收所述多个数据位和所述一或多个校验位并且进一步被配置为提供多个CRC计算位。
另一方面,本公开提供了一种设备,所述设备包含:多个数据队列电路,所述多个数据队列电路中的每个数据队列电路包括所述循环冗余校验(CRC)计算器电路中的相应一个CRC计算器电路,所述多个CRC计算器电路中的每个相应的CRC计算器电路被配置为接收多个数据位和一或多个校验位并且进一步被配置为基于所述多个数据位的至少一部分而提供多个CRC计算位;以及CRC组合电路,所述CRC组合电路被配置为从所述多个CRC计算器电路中的每个CRC计算器电路接收所述多个CRC计算位并且进一步被配置为至少部分地响应于所述多个CRC计算位而提供结果信号。
在又一方面中,本公开提供了一种设备,所述设备包括:第一管芯,所述第一管芯包括:多个第一存储器单元;包括多个CRC计算器电路的多个数据队列电路,其中所述多个数据队列电路中的每个数据队列电路中的所述多个CRC计算器电路中的每个CRC计算器电路被配置为接收对应的多个数据位和一或多个对应校验位,并且进一步被配置为提供对应的多个CRC计算位;以及CRC组合电路,所述CRC组合电路被配置为从所述多个CRC计算器电路接收所述对应的多个CRC计算位,并且进一步被配置为至少部分地响应于来自所述多个CRC计算器电路的所述对应的多个CRC计算位而提供结果信号;以及与所述第一管芯堆叠的第二管芯,所述第二管芯包括多个第二存储器单元。
附图说明
图1是根据本公开的实施例的设备的框图。
图2A是根据本公开实施例的存储器装置的示意图。
图2B是根据本公开的实施例的存储器装置的一部分的示意图。
图2C是根据本公开的实施例的存储器装置中的中心区域的一部分的示意图。
图3是根据本公开的实施例的设备的框图。
图4是根据本公开的实施例的设备的示意图。
图5A是根据本公开的实施例的包含八个DQ电路和一个DM电路的设备的CRC数据位映射的表。
图5B是根据本公开的实施例的用于计算图5A中的多个CRC位中的每个CRC位的等式的列表。
图5C是示出根据本公开的实施例的将与一个CRC校验和位相关的计算分解为八个DQ电路和该DM电路的示意图。
图6是根据本公开的实施例的图4的设备中的逻辑计算流程的示意图。
图7是根据本公开的实施例的设备的框图。
图8是根据本公开的实施例的包含多个管芯的存储器装置的示意图。
图9是根据本公开的实施例的设备的框图。
具体实施方式
下面将参考附图详细解释本公开的各种实施例。以下详细描述参考附图,该附图以说明方式示出了可以在其中实践本公开的实施例的特定方面和细节。该详细描述包含足够多细节以使得本领域技术人员能够实践本公开的实施例。可以利用其它实施例,并且可以在不脱离本公开的范围的情况下作出结构、逻辑和电改变。本文公开的各种实施例不必相互排斥,因为一些所公开的实施例可以与一或多个其它所公开的实施例组合以形成新的实施例。
图1是根据本公开的实施例的半导体装置100的示意性框图。半导体装置100可以包含时钟输入电路105、内部时钟生成器107、地址命令输入电路115、地址解码器120、命令解码器125、多个行(例如,第一存取线)解码器130、包含感测放大器150和传输门195的存储器单元阵列145、多个列(例如,第二存取线)解码器140、多个读/写放大器165、输入/输出(I/O)电路170以及电压生成器190。半导体装置100可以包含多个外部端子,该多个外部端子包含与命令/地址总线110耦合的地址和命令端子、时钟端子CK_t和CK_c、数据端子DQ171、DQS和DM 172,以及电源端子VDD、VSS、VDDQ和VSSQ。在一些实例中,与命令/地址总线110相关联的端子和信号线可以包含被配置为接收命令信号的第一组端子和信号线以及被配置为接收地址信号的单独的第二组端子和信号线。在其它实例中,与命令和地址总线110相关联的端子和信号线可以包含被配置为接收命令信号和地址信号两者的共用端子和信号线。半导体装置可以安装在衬底上,例如,安装在存储器模块衬底、母板等上。
存储器单元阵列145包含多个存储体BANK0-N,其中N是正整数,诸如3、7、15、31等。每个存储体BANK0-N可以包含多条字线WL、多条数字线DL和它们的互补数字线DLb,以及被布置在多条字线WL与多条数字线DL的交叉点处的多个存储器单元MC。对每个存储体BANK0-N的字线WL的选择通过对应的行解码器130来执行,而对数字线DL的选择通过对应的列解码器140来执行。多个感测放大器150针对它们对应的数字线DL和它们对应的互补数字线DLb而定位,并且经由传输门TG 195耦合到至少一条相应的本地I/O线,该本地I/O线进一步耦合到至少两个主I/O线对中的相应一个主I/O线对,该传输门TG用作开关。感测放大器150和传输门TG 195可以基于来自解码器电路的控制信号而操作,该解码器电路可以包含命令解码器120、行解码器130、列解码器140、存储体BANK0-N的存储器单元阵列145的任何控制电路或其任何组合。
地址/命令输入电路115可以经由命令/地址总线110在命令/地址端子处从外部接收地址信号和存储体地址信号,并将地址信号和存储体地址信号传输到地址解码器120。地址解码器120可以对从地址/命令输入电路115接收的地址信号进行解码,并将行地址信号XADD提供给行解码器130,并将列地址信号YADD提供给列解码器140。地址解码器120还可以接收存储体地址信号,并将存储体地址信号BADD提供给行解码器130和列解码器140。
地址/命令输入电路115可以经由命令/地址总线110从外部(诸如,例如在命令/地址端子处从存储器控制器)接收命令信号,并将命令信号提供给命令解码器125。命令解码器125可以对命令信号进行解码并生成各种内部命令信号。内部命令信号可以用于控制半导体装置100的各种电路的操作和定时。例如,内部命令信号可以包含到控制电路的行和列命令信号,以执行对选定字线和数字线的存取操作,诸如读命令或写命令。
响应于与行地址和列地址一起提供的激活和读命令,从存储器单元阵列145中由行地址和列地址指定的存储器单元读取读数据。读/写放大器165可以接收读数据DQ并将读数据DQ提供给IO电路170。IO电路170可以经由数据端子DQ、DQS和DM将读数据DQ与DQS处的数据选通信号和DM处的信号一起提供到外部。类似地,当提供激活和写命令并且与激活和写命令一起提供行地址和列地址时,输入/输出电路170可以接收数据端子DQ、DQS、DM处的写数据连同DQS处的数据选通信号和DM处的数据屏蔽信号,并经由读/写放大器165将写数据提供给存储器单元阵列145。因此,可以将写数据写入由行地址和列地址指定的存储器单元中。IO电路170可以耦合到多个CRC组合电路170。包含在IO电路170中的多个CRC组合电路170和多个CRC计算器电路可以一起对数据差错校验执行CRC计算。
转向对包含在半导体装置100中的外部端子的解释,时钟端子CK_t和CK_c可以分别接收外部时钟信号和互补的外部时钟信号。外部时钟信号(包含互补的外部时钟信号)可以被供应给时钟输入电路105。时钟输入电路105可以接收外部时钟信号并生成内部时钟信号ICLK。时钟输入电路105可以将内部时钟信号ICLK提供给内部时钟生成器107。内部时钟生成器107可以基于从地址/命令输入电路115接收的内部时钟信号ICLK和时钟使能信号CKE而生成相控内部时钟信号LCLK。尽管不限于此,但是DLL电路可以用作内部时钟生成器107。内部时钟生成器107可以将相控内部时钟信号LCLK提供给IO电路170和定时生成器109。IO电路170可以使用相位控制器内部时钟信号LCLK作为用于确定读数据的输出定时的定时信号。定时生成器109可以接收内部时钟信号ICLK并生成各种内部时钟信号。
电源端子可以接收电源电压VDD和VSS。这些电源电压VDD和VSS可以被供应给电压生成器电路190。电压生成器电路190可以基于电源电压VDD和VSS而生成各种内部电压VPP、VOD、VARY、VPERI等。内部电压VPP主要用于行解码器130中,内部电压VOD和VARY主要用于包含在存储器单元阵列145中的感测放大器150中,而内部电压VPERI用于许多其它电路块中。IO电路170可以在电源端子VDDQ和VSSQ处接收电源电压。例如,电源电压可以分别与电源电压VDD和VSS相同。然而,来自电源端子VDDQ和VSSQ的专用电源电压可以用于IO电路170。
图2A是根据本公开的实施例的存储器装置20的示意图。例如,存储器装置20可以是图1的设备100。存储器装置20可以是存储器管芯,诸如DRAM管芯。存储器装置20可以包含多个存储体群组BG0至BG3 21。多个存储体群组BG0至BG3可以包含图1的存储器单元阵列145的多个存储体BANKS-N。多个存储体群组BG0至BG3中的每个存储体群组可以被划分为两个区域。存储器装置20还可以包含中心区域22,该中心区域跨多个存储体群组BG0至BG3设置在每个存储体群组的所划分的两个区域之间。存储器装置20可以进一步包含设置在中心区域22中的第一多个数据队列(DQ)电路23a和第二多个DQ电路23b。例如,第一多个数据队列(DQ)电路23a和第二多个DQ电路23b可以在I/O电路170中。例如,第一多个DQ电路23a可以接收并传输较低数据位,而第二多个DQ电路可以接收并传输较高数据位。存储器装置20可以进一步包括设置在中心区域22中的CRC组合电路24a和24b。例如,CRC电路24a可以接收第一多个DQ电路23a的每个DQ电路的CRC计算位,而CRC电路24b可以接收第一多个DQ电路23b的每个DQ电路的CRC计算位。
存储器装置20可以包含部分20′,该部分包含存储体群组BG1的两个区域和中心区域22的一部分。图2B是根据本公开的实施例的存储器装置20的一部分20′的示意图。部分20'可以包含跨中心区域22划分为两个区域的存储体群组BG1 21。部分20′可以进一步包含跨多个存储体群组BG0至BG3共享的第一多个数据队列(DQ)电路23a和CRC组合电路24a。两个区域中的顶部区域可以包含阵列210和211,而两个区域中的底部区域可以包含阵列212和213。顶部区域还可以包含数据感测放大器250和251以及行解码器260和261,它们都可以分别被提供用于阵列210和211。底部区域还可以包含数据感测放大器252和253以及行解码器262和263,它们都可以分别被提供用于阵列212和213。存储器装置20可以包含第一多个DQ电路23a,该第一多个DQ电路包含DQ电路DQ0 230至DQ7 237和设置在中心区域22中的数据屏蔽(DM)电路238。存储器装置20还可以包含设置在中心区域22中的CRC组合电路24a。CRC组合电路24a可以从DQ电路DQ0 230至DQ7 237和DM电路238接收CRC计算位。存储器装置20可以包含设置在中心区域22中的全局读/写数据总线和缓冲器(全局RWDB)270。例如,全局RWDB 270可以设置在IO电路170与RWAMP 165之间。
图2C是根据本公开的实施例的存储器装置20中的中心区域270的一部分的示意图。如图2C所示,DQ电路DQ0 230至DQ7 237和DM电路238中的每个电路在专用于每个电路的全局读/写数据总线(线)上向多个存储体群组BG0至BG3提供数据。因此,DQ电路DQ2 232和DQ电路DQ3 233不共享图2C中的全局读/写数据总线。类似地,DQ电路DQ0 230至DQ7 237和DM电路238均不与多个DQ电路230至237中的另一个DQ电路共享全局读/写数据总线。在图2C中示出了用于DQ2和DQ3的全局读/写数据总线。然而,中心区域270进一步包含用于其它DQ电路DQ0、DQ1、DQ4至DQ7和DM电路中的每一个的附加读/写数据总线。
图3是根据本公开的实施例的设备30的框图。设备30可以包含在存储器装置20中。设备30可以包含DQ电路33和CRC组合电路34。在本公开的一些实施例中,DQ电路33可以是图2A至2C的DQ电路DQ0 230至DQ7 237和DM电路238中的任一个,而CRC组合电路34可以是图2A至2B的CRC组合电路24a和24b中的任一个。DQ电路33可以包含DQ缓冲器331,该DQ缓冲器可以从数据端子31接收多个位。例如,数据端子31可以是数据端子DQ 171和DM 172中的任一个。多个位包含构成8位数据字节[7:0]的多个数据位以及一或多个CRC校验位。例如,一或多个CRC位可以由存储器控制器(未示出)提供。每个数据的CRC校验位的数量取决于数据的结构,稍后将参考图5A和5B提供其细节。如图3的实例中所示,多个数据位中的位数为8,而CRC校验位的数量为1或2。多个数据位中的位数和CRC校验位的数量可以取决于数据大小和所需准确度。在缓冲器331处接收的多个位可以由采样器332捕获。采样器332可以在基于内部时钟(例如,本地时钟LCLK或DQS时钟)的定时处向全局数据总线37提供多个数据位。全局数据总线37可以为(例如)专用于全局RWDB 270中的DQ电路33的全局读/写数据总线。采样器332可以进一步将多个数据位和一个或两个CRC校验位提供给CRC计算器电路333。CRC计算器电路333可以包含逻辑异或(XOR)电路的组合。CRC计算器电路333可以提供多个CRC计算位。多个CRC计算位是CRC计算的一部分的结果,其可以基于多个数据位的至少一部分和一个或两个CRC校验位。在该实例中,多个CRC计算位中的位数为8。CRC计算器电路333将CRC计算位提供给CRC组合电路34。例如,在本公开的一些实施例中,设备30可以包含信号线36,该信号线的一端耦合到CRC计算器电路333,并且另一端耦合到CRC组合电路34。CRC计算器电路333在与全局数据总线37分离的信号线36上向CRC组合电路34提供CRC计算位。通过在与全局数据总线37分离的信号线36上提供CRC计算位,与其中通过全局数据总线提供CRC位的布置相比,全局数据总线37可以使用较少的布局空间。CRC组合电路34可以耦合到CRC计算器电路333,并且可以在信号线36上从CRC计算器电路333接收八个CRC计算位。类似地,CRC组合电路34可以从多个DQ电路和DM电路(例如,七个DQ电路和一个DM电路)中的其它电路接收八个CRC计算位。因此,CRC组合电路34可以接收总共72个CRC计算位(例如,(8个DQ电路×每个DQ电路8个CRC计算位)+(一个DM电路×每个DM电路8个CRC计算位)=64个CRC计算位+8个CRC计算位),并提供CRC结果信号CRCerr,该CRC结果信号CRCerr是指示包含多个数据位的数据位是否含有任何错误的二进制信号。
图4是根据本公开的实施例的设备40的示意图。设备40可以包含在存储器装置20中。设备40可以包含多个DQ电路DQ0 430至DQ7 437、DM电路438和CRC组合电路44。在本公开的一些实施例中,DQ电路DQ0 430至DQ7 437和DM电路438可以包含在图2A至2C的DQ电路DQ0230至DQ7 237和DM电路238中,并且CRC组合电路44可以为图2A至2B的CRC组合电路24a和24b中的任一个。在本公开的一些实施例中,DQ电路DQ0 430至DQ7 437和DM电路438可以具有DQ电路33的结构。
CRC组合电路44可以包含多个逻辑异或电路440至447和逻辑或电路448。每个逻辑异或电路对从两个DQ电路中的每一个接收的八位执行逻辑异或运算,并提供八位。例如,逻辑异或电路440可以从DQ电路DQ0 430接收八个CRC计算位并从DQ电路DQ1 430接收八个CRC计算位,并将八个中间CRC计算位提供给另一个逻辑异或电路441。逻辑异或电路441可以从逻辑异或电路441接收八个中间CRC计算位并从DM电路438接收八个CRC计算位,并将八个中间CRC计算位提供给另一个逻辑异或电路443。逻辑异或电路442可以从DQ电路DQ2 432和DQ3 433中的每一个接收八个CRC计算位,并将八个中间CRC计算位提供给逻辑异或电路443。逻辑异或电路443可以从逻辑异或电路441和442中的每一个接收中间CRC计算位,并将八个中间CRC计算位提供给逻辑或电路447。逻辑异或电路444可以从DQ电路DQ4 434和DQ5435中的每一个接收八个CRC计算位,并将八个中间CRC计算位提供给另一个逻辑异或电路446。逻辑异或电路445可以从DQ电路DQ6 436和DQ7 437中的每一个接收八个CRC计算位,并将八个中间CRC计算位提供给另一个逻辑异或电路446。逻辑异或电路446可以从逻辑异或电路444和445两者接收中间CRC计算位,并将八个中间CRC计算位提供给逻辑NOR电路447。逻辑NOR电路447可以从逻辑异或电路443和446两者接收中间CRC计算位,并将八个中间CRC计算位提供给逻辑或电路448。逻辑或电路448可以对所有八个中间CRC计算位执行逻辑或运算,并提供CRC结果信号CRCerr,该CRC结果信号CRCerr是指示数据是否含有任何错误的二进制信号。
图5A是根据本公开的实施例的包含八个DQ电路和一个DM电路的设备的CRC数据位映射的表。八个DQ电路和DM电路可以接收包含八个数据位和一个CRC位的九个位。例如,在该表中,DQ0电路可以接收数据位d0至d7(D[0]至D[7])以及校验和位CRC0。图5B是根据本公开的实施例的用于计算图5A中的多个CRC位中的每个CRC位的等式的列表。多个等式提供了来自从DQ电路和DM电路中的对应电路的对应数据字节获得的数据位的对应组合的多个异或运算的多个结果。图5C是示出根据本公开的实施例的将与一个CRC校验和位相关的计算分解为八个DQ电路和该DM电路的示意图。例如,关于图5B中的CRC[0]的等式可以对数据位D[69]、D[68]、D[67]、D[66]、D[64]、D[63]、D[60]、D[56]、D[54]、D[53]、D[52]、D[50]、D[49]、D[48]、D[45]、D[43]、D[40]、D[39]、D[35]、D[34]、D[31]、D[30]、D[28]、D[23]、D[21]、D[19]、D[18]、D[16]、D[14]、D[12]、D[8]、D[7]、D[6]和D[0]执行异或运算。计算CRC[0]的等式可以被分解为对在DQ电路和DM电路中接收的数据位的群组的计算,并且DQ电路和DM电路中的每个电路可以基于作为由每个电路接收的数据位的子集的数据位的对应群组来计算中间CRC计算位。在一些实施例中,对中间CRC计算位的计算可以是对数据位的对应群组执行异或运算。例如,可以将关于CRC[0]的上述数据位划分为可以在DM电路中接收和计算的一组数据位D[69]、D[68]、D[67]、D[66]和D[64]、可以在DQ7电路中接收和计算的一组数据位D[63]、D[60]和D[56]、可以在DQ6电路中接收和计算的一组数据位D[54]、D[53]、D[52]、D[50]、D[49]和D[48]、可以在DQ5电路中接收和计算的一组数据位D[45]、D[43]和D[40]、可以在DQ4电路中接收和计算的一组数据位D[39]、D[35]和D[34]、可以在DQ3电路中接收和计算的一组数据位D[31]、D[30]、D[28]、可以在DQ2电路中接收和计算的一组数据位D[23]、D[21]、D[19]、D[18]、D[16]、可以在DQ1电路中接收和计算的一组数据位D[14]、D[12]、D[8],以及可以在DQ0电路中接收和计算的一组数据位D[7]、D[6]、D[0]和校验和位CRC0位,如图5C所示。类似地,关于CRC[1]至CRC[7]的其它等式可以被分解为在DQ电路和DM电路中接收的数据位的群组,并且DQ电路和DM电路中的每个电路可以基于数据位的对应群组而计算中间CRC计算位。
图6是根据本公开的实施例的图4的设备40中的逻辑计算流程的示意图。图6仅仅示出了CRC计算的逻辑分解,并且图6中的箭头不一定表示实际的电路连接。DQ电路和DM电路中的CRC计算器电路630至638分别计算数据位的对应群组的多个异或运算。在一些实施例中,CRC计算器电路630至638中的每个CRC计算器电路可以包含多个逻辑异或电路。DQ0电路中的CRC计算器电路630可以分别使用在DQ0电路处接收的数据位的至少一部分来执行关于CRC[0]至CRC[7]的八个计算6300至6307。在本公开的一些实施例中,计算6300至6307可以如先前参考图5A至5C所描述的。例如,计算6300可以是CRC[0]计算中的数据位D[7]、D[6]和D[0]与校验和位CRC[0]的异或运算;计算6301可以是CRC[1]计算中数据位D[6]、D[1]和D[0]的异或运算;计算6302可以是CRC[2]计算中数据位D[6]、D[2]、D[1]和D[0]的异或运算;计算6303可以是CRC[3]计算中数据位D[7]、D[3]、D[2]和D[1]的异或运算;计算6304可以是CRC[3]计算中数据位D[4]、D[4]和D[2]的异或运算;计算6305可以是CRC[4]计算中数据位D[5]、D[5]和D[3]的异或运算;计算6306可以是CRC[5]计算中数据位D[6]、D[6]和D[4]的异或运算;而计算6307可以是CRC[7]计算中的数据位D[7]、D[6]和D[5]的异或运算。
类似地,DQ7电路中的CRC计算器电路637可以通过分别对作为由DQ7电路接收的数据位D[56]至D[63]和CRC校验和位CRC[7]的子集的数据位的群组执行异或运算来执行关于CRC[0]至CRC[7]的八个计算6370至6377。DM电路中的CRC计算器电路638可以通过分别对作为由DM电路接收的数据位D[64]至D[71]的子集的数据位的群组执行异或运算来执行关于CRC[0]至CRC[7]的八个计算6380至6387。
CRC组合电路64可以包含多个异或(XOR)树电路640至647。例如,异或树电路640可以从关于CRC[0]的计算6300、…6370和6380的每个计算接收一个CRC计算位的计算结果,并对这8位执行异或运算,并且将一个结果位CRCresult[0]提供给或电路648。如果在数据位D[0]至D[7]中没有错误,则CRCresult[0]为“0”(例如,处于逻辑低电平),因为CRC计算器电路630中的计算包括CRC校验和位CRC[0]。类似地,异或树电路641可以从关于CRC[1]的计算6301、…6371和6381的每个计算接收一个位的计算结果,并对这8位执行异或运算,并且将一个位结果CRCresult[1]提供给或电路648。而且,异或树电路647可以从关于CRC[7]的计算6307、…6377和6387的每个计算接收一个位的计算结果,并对这8位执行异或运算,并且将一个位结果CRCresult[7]提供给或电路648。或电路648可以接收总共八位(其为CRC结果[0]至[7])并对总共八位执行逻辑或运算。由于如果存在任何错误,则CRC结果[0]至[7]中的任一个可以将错误指示为“1”(例如,逻辑高电平),因此逻辑或运算的结果也为“1”,并且CRC结果(CRCerr)处于逻辑高电平“1”,指示数据故障。如果数据中没有错误,则所有CRC结果[0]至[7]都是“0”(例如,逻辑低电平),指示数据位未含有错误,因此逻辑或运算的结果也是“0”,并且CRC结果(CRCerr)处于逻辑低电平“0”,指示数据未含有错误(=通过)。
通过将CRC计算分解在多个DQ电路和DM电路的CRC计算器电路以及与多个DQ电路和DM电路直接耦合的CRC组合电路中,可以减小专用于CRC数据的数据总线的面积。如此处所示,在多个DQ电路和DM电路中执行大部分异或运算。因为对在多个DQ电路和DM电路中的CRC计算器电路处接收的数据位执行异或运算,所以对每个CRC计算器电路中的CRC计算执行异或运算的相同组合(例如,CRC计算器电路630中的D[0]和D[6]的异或运算)的逻辑异或门可以被多个计算(诸如关于CRC[0]的计算6300和关于CRC[1]的计算6301)共享。
图7是根据本公开的实施例的设备70的框图。在本公开的一些实施例中,设备70可以包含在存储器装置20中。图7的设备70的电路结构类似于先前参考图3描述的电路结构。因而,为了简洁起见,省略了关于包含在DQ电路73和CRC组合电路74中的数据端子71、缓冲器731和CRC计算器电路733的详细描述。采样器732可以在基于内部时钟(例如,本地时钟LCLK或DQS时钟)的定时处向CRC计算器电路733和存储体群组选择器电路734提供来自缓冲器731的多个位。存储体群组选择器734可以基于地址(诸如存储体地址的一部分)而选择存储体群组。例如,存储体群组选择器734可以基于存储体地址接收一或多个存储体群组信号BG,并将多个数据位提供给多条全局数据总线77中与由存储体群组信号BG指示的选定存储体群组相对应的数据总线。在图7中,存储体群组选择器734可以包含在DQ电路73中;然而,存储体群组选择器734可以设置在DQ电路73的外部。CRC组合电路74可以在信号线76上从CRC计算器电路733接收八个CRC计算位。类似地,CRC组合电路34可以从多个DQ电路和DM电路中的其它电路接收八个CRC计算位。因此,CRC组合电路74可以接收总共72个CRC计算位,并提供CRC结果信号CRCerr,该CRC结果信号CRCerr是指示数据是否含有任何错误的二进制信号。由于CRC组合电路74直接在信号线上从多个DQ电路和DM电路而不是从多条全局数据总线接收CRC计算位,因此多条全局数据总线77不必包含传输CRC位的数据总线,并且CRC组合电路74不必包含用于从多条全局数据总线77接收数据的存储体群组选择器电路。
图8是根据本公开的实施例的包含多个管芯81的存储器装置80的示意图。在该实施例中,多个管芯81的数量为8。包含改变为不同数量的管芯来代替多个管芯81的修改在本公开的范围内。在一些实施例中,多个管芯81在电路配置和操作方面可以彼此相同。例如,多个管芯81可以是包含主管芯(管芯-0)82和多个从管芯(管芯-1至管芯-7)83的堆叠管芯。在一些实施例中,多个管芯81可以全部具有相同设计(例如,包含相同电路)。管芯81可以在后期制造期间被配置为执行为主管芯或从管芯。例如,多个管芯81可以通过一个管芯可以分别充当主管芯82而其它管芯可以充当从管芯83的方式进行配置。替代地,在一些实施例中,主管芯82和从管芯83可以被设计和制造为原生主管芯和原生从管芯。
主管芯82可以用作包含经由一或多条接合线86耦合到封装衬底85的一或多个焊垫PAD 84。一或多条接合线16可以耦合到封装衬底85的焊盘(未示出)。多个从管芯83中的每一个的焊垫(PAD)可以处于浮动状态,与封装衬底85解耦。主管芯81可以通过通孔TSV 87(例如,贯通衬底或贯通硅通孔)与从管芯83中的每一个通信。凸出电极88可以设置在封装衬底88的外表面上。凸出电极88可以耦合到电源线或信号通道。
图9是根据本公开的实施例的设备90的框图。设备90可以是存储器装置80中的主管芯82。图9的电路结构类似于先前参考图3描述的电路结构。在设备90中,主管芯包含数据队列电路93和CRC组合电路94。数据队列电路93可以包含缓冲器931、CRC计算器电路933和存储体群组选择器934。因而,为了简洁起见,省略了关于包含数据端子91、缓冲器931和CRC组合电路94的详细描述。采样器932可以在基于内部时钟(例如,本地时钟LCLK或DQS时钟)的定时处向CRC计算器电路933和互连控制器95提供来自缓冲器931的多个位。互连控制器95可以将多个数据位提供给主管芯以及从管芯,诸如存储器装置80中的从管芯83。例如,互连控制器95可以将指定给从管芯中的一个的存储器单元阵列的多个数据位以及一或多个存储体群组信号BG通过通孔(诸如通孔TSV 87)提供给从管芯(未示出)中的一个中的存储体群组选择器。互连控制器95可以将指定给主管芯的存储器单元阵列的多个数据位提供给存储体群组选择器934。存储体群组选择器934可以基于存储体群组地址BG而选择存储体群组,并将多个数据位提供给多条全局数据总线97中与选定的存储体群组相对应的数据总线。CRC计算器电路933可以提供多个CRC计算位作为对多个数据位的至少一部分和一或两个CRC校验位的CRC计算的一部分的结果。设备90中作为主管芯的CRC组合电路94可以在信号线96上从CRC计算器电路933接收八个CRC计算位。类似地,CRC组合电路94可以从多个DQ电路和DM电路中的其它CRC计算器电路接收八个CRC计算位。因此,CRC组合电路94可以接收多个数据位中的总共72个CRC计算位并提供CRC结果信号CRCerr,该CRC结果信号CRCerr是指示数据是否含有任何错误的二进制信号。因为在全部包含于主管芯90中的多个DQ电路和DM电路中的CRC计算器电路933以及CRC组合电路94中完成CRC计算,所以没有TSV向从管芯传输CRC位和从该从管芯接收CRC位。在一些实施例中,主管芯和从管芯可以被均匀地形成以能够通过后期制造配置而执行为主管芯或从管芯,然后不激活从管芯中的数据端子、缓冲器、采样器和CRC相关电路。可以激活从管芯上的DQ电路中的存储体群组选择器,以通过通孔(诸如通孔TSV 87)从主管芯接收数据和存储体群组信号BG。在一些实施例中,主管芯和从管芯可以分开制造,并且在从管芯中不包含CRC相关电路。
图3、7和9是DQ电路对写操作执行CRC计算的部分的实例。然而,DQ电路可以对读操作执行CRC计算的部分。在上述实施例中使用的信号的逻辑电平和逻辑门组合仅仅是实例。然而,在其它实施例中,在不脱离本公开的范围的情况下,可以使用信号的逻辑电平的组合和除本公开中具体描述的逻辑门之外的逻辑门的组合。
尽管在本公开中已经公开了各种实施例,但是本领域技术人员将理解,本公开的范围超出具体公开的实施例扩展到其它的替代实施例和/或其使用和明显的修改和等同物。另外,基于本公开,在本公开范围内的其它修改对于本领域的技术人员将是显而易见的。还可以预期,可以对实施例的特定特征和方面进行各种组合或子组合,并且所述各种组合或子组合仍然落入本公开的范围内。应当理解,所公开实施例的各种特征和方面可以彼此组合或替换以便形成不同实施例。因此,本公开的至少一部分的范围不应受到上述具体公开的实施例的限制。
Claims (20)
1.一种设备,其包括:
数据队列电路,所述数据队列电路包括:
采样器,所述采样器被配置为接收多个数据位和一或多个校验位,并且进一步被配置为基于内部时钟而提供所述多个数据位和所述一或多个校验位;以及
循环冗余校验CRC计算器电路,所述CRC计算器电路被配置为接收所述多个数据位和所述一或多个校验位并且进一步被配置为提供多个CRC计算位。
2.根据权利要求1所述的设备,其进一步包括:
与所述数据队列电路耦合的全局数据总线,其中所述全局数据总线被配置为从所述数据队列电路的所述采样器接收所述多个数据位;以及
多条信号线,所述多条信号线与所述全局数据总线分离,
其中所述CRC计算器电路被配置为在所述多条信号线上提供所述多个CRC计算位。
3.根据权利要求1所述的设备,其进一步包括与所述数据队列电路耦合的多条全局数据总线,其中所述多条全局数据总线中的每条全局数据总线被配置为将数据传输到多个存储体群组中的对应存储体群组,
其中所述数据队列电路进一步包括存储体群组选择器,所述存储体群组选择器被配置为从所述采样器接收所述多个数据位并且进一步被配置为将所述多个数据位提供给所述多条全局数据总线中的所述对应存储体群组的对应全局数据总线。
4.根据权利要求1所述的设备,其中所述CRC计算器电路被配置为使用所述多个数据位的至少一部分来执行多个计算。
5.根据权利要求4所述的设备,其中所述CRC计算器电路包含:
多个逻辑异或电路,所述多个逻辑异或电路被配置为执行所述多个计算。
6.根据权利要求5所述的设备,其中所述多个计算包含第一计算和第二计算,并且
其中所述第一计算和所述第二计算被配置为共享所述多个逻辑异或电路中的一个逻辑异或电路。
7.根据权利要求1所述的设备,其进一步包括:
CRC组合电路,所述CRC组合电路被配置为接收所述多个CRC计算位并且进一步被配置为至少部分地响应于所述多个CRC计算位而提供指示包含所述多个数据位的数据位是否含有错误的结果信号;以及
导线,所述导线的一端耦合到所述CRC计算器电路并且另一端耦合到所述CRC组合电路。
8.根据权利要求7所述的设备,其中所述CRC组合电路包括:
多个逻辑异或电路,其中每个逻辑异或电路被配置为接收所述多个CRC计算位中的对应CRC计算位并且进一步被配置为至少部分地响应于所述对应CRC计算位而提供结果位;以及
逻辑或电路,所述逻辑或电路被配置为接收所述结果位并且进一步被配置为至少部分地响应于所述结果位而提供所述结果信号。
9.一种设备,其包含:
多个数据队列电路,所述多个数据队列电路中的每个数据队列电路包括所述循环冗余校验CRC计算器电路中的相应一个CRC计算器电路,所述多个CRC计算器电路中的每个相应的CRC计算器电路被配置为接收多个数据位和一或多个校验位并且进一步被配置为基于所述多个数据位的至少一部分而提供多个CRC计算位;以及
CRC组合电路,所述CRC组合电路被配置为从所述多个CRC计算器电路中的每个CRC计算器电路接收所述多个CRC计算位并且进一步被配置为至少部分地响应于所述多个CRC计算位而提供结果信号。
10.根据权利要求9所述的设备,其进一步包括多条信号线,所述多条信号线中的每条信号线的一端耦合到所述CRC计算器电路并且另一端耦合到所述CRC组合电路。
11.根据权利要求9所述的设备,其中所述CRC计算器电路包括多个逻辑异或电路。
12.根据权利要求9所述的设备,其进一步包括多个数据端子,所述多个数据端子中的每个数据端子耦合到所述多个数据队列电路中的每个相应的数据队列电路,
其中每个相应的CRC计算器电路被配置为执行多个计算,其中所述多个计算中的每个计算被配置为响应于来自所述数据端子的所述多个数据位的所述至少一部分而提供所述多个CRC计算位中的对应CRC计算位。
13.根据权利要求12所述的设备,其中所述多个数据队列电路包括第一数据队列电路和第二数据队列电路,
其中所述CRC计算器电路是所述第一数据队列电路中的第一CRC计算器电路,所述第一CRC计算器电路被配置为接收作为第一多个数据位的所述多个数据和作为一或多个第一校验位的所述一或多个校验位,并且进一步被配置为提供作为第一多个CRC计算位的所述多个CRC计算位,并且
其中所述多个CRC计算器电路进一步包括所述第二数据队列电路中的第二CRC计算器电路,所述第二CRC计算器电路被配置为接收第二多个数据位和一或多个第二校验位,并且进一步被配置为提供第二多个CRC计算位。
14.根据权利要求13所述的设备,其中所述第一多个CRC计算位包含第一CRC计算位和第二CRC计算位,
其中所述第二多个CRC计算位包含第三计算位和第四CRC计算位,
其中所述CRC组合电路包括:
第一逻辑异或电路,所述第一逻辑异或电路被配置为接收所述第一CRC计算位和所述第三CRC计算位,并且进一步被配置为提供第一结果位;以及
第二逻辑异或电路,所述第二逻辑异或电路被配置为接收所述第二CRC计算位和所述第四CRC计算位,并且进一步被配置为提供第二结果位。
15.根据权利要求14所述的设备,其进一步包括逻辑或电路,所述逻辑或电路被配置为接收所述第一结果位和所述第二结果位,并且进一步被配置为至少部分地响应于所述第一结果位和所述第二结果位而提供所述结果信号。
16.一种设备,其包括:
第一管芯,所述第一管芯包括:
多个第一存储器单元;
包括多个CRC计算器电路的多个数据队列电路,其中所述多个数据队列电路中的每个数据队列电路中的所述多个CRC计算器电路中的每个CRC计算器电路被配置为接收对应的多个数据位和一或多个对应校验位,并且进一步被配置为提供对应的多个CRC计算位;以及
CRC组合电路,所述CRC组合电路被配置为从所述多个CRC计算器电路接收所述对应的多个CRC计算位,并且进一步被配置为至少部分地响应于来自所述多个CRC计算器电路的所述对应的多个CRC计算位而提供结果信号;以及与所述第一管芯堆叠的第二管芯,所述第二管芯包括多个第二存储器单元。
17.根据权利要求16所述的设备,其中所述第一管芯进一步包括多条信号线,所述多条信号线中的每条信号线的一端耦合到每个CRC计算器电路并且另一端耦合到所述CRC组合电路。
18.根据权利要求16所述的设备,其中所述多个数据队列电路包括第一数据队列电路,所述第一数据队列电路包含:
第一CRC计算器电路,所述第一CRC计算器电路包含在所述多个CRC计算器电路中;以及
采样器,所述采样器被配置为接收第一多个数据位和一或多个第一校验位,并且进一步被配置为将所述第一多个数据位和所述一或多个第一校验位提供给所述第一CRC计算器电路,并且
其中所述采样器进一步被配置为将所述第一多个数据位提供给所述第二管芯。
19.根据权利要求18所述的设备,其进一步包括与所述第一数据队列电路耦合的多条全局数据总线,其中所述多条全局数据总线中的每条全局数据总线被配置为将数据传输到多个存储体群组中的对应存储体群组,
其中所述第一数据队列电路进一步包括存储体群组选择器,所述存储体群组选择器被配置为从所述第二管芯接收所述第一多个数据位,并且
其中所述存储体群组选择器被配置为将所述第一多个数据位提供给所述多条全局数据总线中的所述对应的存储体群组的对应的全局数据总线。
20.根据权利要求16所述的设备,其中所述第一管芯和所述第二管芯具有相同设计,并且其中所述第一管芯被配置为执行为主管芯,并且所述第二管芯被配置为执行为从管芯。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/037,538 US11537462B2 (en) | 2020-09-29 | 2020-09-29 | Apparatuses and methods for cyclic redundancy calculation for semiconductor device |
US17/037,538 | 2020-09-29 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114327997A true CN114327997A (zh) | 2022-04-12 |
Family
ID=80821244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110619207.7A Pending CN114327997A (zh) | 2020-09-29 | 2021-06-03 | 用于半导体装置的循环冗余计算的设备和方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11537462B2 (zh) |
CN (1) | CN114327997A (zh) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602857A (en) * | 1993-09-21 | 1997-02-11 | Cirrus Logic, Inc. | Error correction method and apparatus |
US6421805B1 (en) * | 1998-11-16 | 2002-07-16 | Exabyte Corporation | Rogue packet detection and correction method for data storage device |
CN1333950A (zh) * | 1999-11-15 | 2002-01-30 | 三菱电机株式会社 | 使用循环码的错误控制装置与方法 |
US7234097B1 (en) * | 2003-01-27 | 2007-06-19 | Marvell International Ltd. | Methods of supporting host CRC in data storage systems without RLL coding |
JP2006127460A (ja) * | 2004-06-09 | 2006-05-18 | Renesas Technology Corp | 半導体装置、半導体信号処理装置、およびクロスバースイッチ |
US7296129B2 (en) * | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US20060123312A1 (en) * | 2004-11-19 | 2006-06-08 | International Business Machines Corporation | Method and system for increasing parallelism of disk accesses when restoring data in a disk array system |
US20090196093A1 (en) * | 2008-01-31 | 2009-08-06 | Qimonda Ag | Stacked die memory |
US8234540B2 (en) * | 2008-07-01 | 2012-07-31 | International Business Machines Corporation | Error correcting code protected quasi-static bit communication on a high-speed bus |
US8402342B2 (en) * | 2010-02-26 | 2013-03-19 | Research In Motion Limited | Method and system for cyclic redundancy check |
US8327201B1 (en) * | 2010-05-05 | 2012-12-04 | Xilinx, Inc. | Parallel testing of an integrated circuit that includes multiple dies |
KR20120098105A (ko) * | 2011-02-28 | 2012-09-05 | 에스케이하이닉스 주식회사 | 데이터 전송 회로 및 이를 포함하는 메모리 장치 |
JP2013073663A (ja) * | 2011-09-29 | 2013-04-22 | Elpida Memory Inc | 半導体装置 |
US9542261B2 (en) * | 2013-07-01 | 2017-01-10 | Ixia | Methods, systems, and computer readable media for multi-packet cyclic redundancy check engine |
US10963411B1 (en) * | 2019-07-03 | 2021-03-30 | Xilinx, Inc. | Integrating rows of input/output blocks with memory controllers in a columnar programmable fabric archeture |
-
2020
- 2020-09-29 US US17/037,538 patent/US11537462B2/en active Active
-
2021
- 2021-06-03 CN CN202110619207.7A patent/CN114327997A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220100602A1 (en) | 2022-03-31 |
US11537462B2 (en) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8498831B2 (en) | Semiconductor device, semiconductor device testing method, and data processing system | |
US10846169B2 (en) | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices | |
US9053771B2 (en) | Semiconductor system | |
US10622088B2 (en) | Stacked memory devices, memory systems and methods of operating stacked memory devices | |
KR101298032B1 (ko) | 반도체 디바이스 및 그 테스트 방법 | |
US9312209B2 (en) | Semiconductor device | |
US8848473B2 (en) | Semiconductor device and test method thereof | |
US8310382B2 (en) | Semiconductor device having plural semiconductor chips laminated to each other | |
US8441135B2 (en) | Semiconductor device | |
US8384432B2 (en) | Semiconductor device and information processing system including the same | |
US20110084729A1 (en) | Semiconductor device | |
US8681525B2 (en) | Semiconductor device including plural chips stacked to each other | |
JP2012155814A (ja) | 半導体装置及びこれを備える情報処理システム | |
US20110085404A1 (en) | Semiconductor memory device and information processing system including the same | |
JP2012174309A (ja) | 半導体装置及びその試験方法 | |
US11537462B2 (en) | Apparatuses and methods for cyclic redundancy calculation for semiconductor device | |
US11545189B2 (en) | Apparatuses and methods for different IO widths for stacked die | |
US11475940B2 (en) | Semiconductor device layout for a plurality of pads and a plurality of data queue circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |