CN117995257A - 半导体存储器装置和操作半导体存储器装置的方法 - Google Patents
半导体存储器装置和操作半导体存储器装置的方法 Download PDFInfo
- Publication number
- CN117995257A CN117995257A CN202311094693.0A CN202311094693A CN117995257A CN 117995257 A CN117995257 A CN 117995257A CN 202311094693 A CN202311094693 A CN 202311094693A CN 117995257 A CN117995257 A CN 117995257A
- Authority
- CN
- China
- Prior art keywords
- data
- main data
- sub
- semiconductor memory
- bits
- 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
- 239000004065 semiconductor Substances 0.000 title claims abstract description 122
- 238000000034 method Methods 0.000 title claims abstract description 13
- 230000015654 memory Effects 0.000 claims abstract description 172
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 79
- 238000012937 correction Methods 0.000 claims abstract description 9
- 239000000872 buffer Substances 0.000 claims description 56
- 230000004044 response Effects 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 26
- 230000005540 biological transmission Effects 0.000 description 21
- 238000003491 array Methods 0.000 description 13
- 101000604054 Homo sapiens Neuroplastin Proteins 0.000 description 9
- 101000806155 Homo sapiens Short-chain dehydrogenase/reductase 3 Proteins 0.000 description 9
- 102100037857 Short-chain dehydrogenase/reductase 3 Human genes 0.000 description 9
- 102100021699 Eukaryotic translation initiation factor 3 subunit B Human genes 0.000 description 7
- 101000896557 Homo sapiens Eukaryotic translation initiation factor 3 subunit B Proteins 0.000 description 7
- 101100422889 Arabidopsis thaliana SWI3A gene Proteins 0.000 description 5
- 102100031699 Choline transporter-like protein 1 Human genes 0.000 description 5
- 102100035954 Choline transporter-like protein 2 Human genes 0.000 description 5
- 101000940912 Homo sapiens Choline transporter-like protein 1 Proteins 0.000 description 5
- 101000948115 Homo sapiens Choline transporter-like protein 2 Proteins 0.000 description 5
- 230000008439 repair process Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 3
- 239000000758 substrate Substances 0.000 description 3
- 101100065137 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) prt-1 gene Proteins 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 229910052710 silicon Inorganic materials 0.000 description 2
- 239000010703 silicon Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 101100494773 Caenorhabditis elegans ctl-2 gene Proteins 0.000 description 1
- 102100035964 Gastrokine-2 Human genes 0.000 description 1
- 101001075215 Homo sapiens Gastrokine-2 Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/29—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
- H03M13/2906—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
- H03M13/2909—Product codes
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- 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
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1032—Simple parity
-
- 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/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1575—Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Probability & Statistics with Applications (AREA)
- Dram (AREA)
Abstract
公开了半导体存储器装置和操作半导体存储器装置的方法。所述半导体存储器装置包括存储器单元阵列和裸片上纠错码(ECC)引擎。在写入操作期间,裸片上ECC引擎通过利用随机二进制码对第一主数据进行编码来生成第二主数据,对第二主数据执行ECC编码以生成奇偶校验数据,并且将第二主数据和奇偶校验数据存储在存储器单元阵列中的目标页中。在读取操作期间,裸片上ECC引擎从目标页读取第二主数据和奇偶校验数据,与通过利用随机二进制码对第二主数据进行编码来生成第一主数据并行地,基于奇偶校验数据对第二主数据执行ECC解码以生成校验子,并且基于校验子来校正第一主数据中的至少一个错误位。
Description
本申请要求于2022年11月2日在韩国知识产权局提交的第10-2022-0144414号韩国专利申请的优先权,所述韩国专利申请的公开通过引用包含于此。
技术领域
本公开涉及存储器,更具体地,涉及半导体存储器装置和操作半导体存储器装置的方法。
背景技术
半导体存储器装置可被分类为非易失性存储器装置(诸如,闪存装置)和易失性存储器装置(诸如,动态随机存取存储器(DRAM))。DRAM的高速操作和成本效率使得DRAM可用于系统存储器。由于至少部分地由DRAM的集成电路(IC)制造设计规则的缩放导致的IC尺寸的持续缩小,包括在存储器单元中的电容器的电容将减小,因此,根据存储在存储器单元中的数据的格式可能产生噪声。
发明内容
一些示例实施例提供一种能够增强操作特性并减小逻辑电路的尺寸的半导体存储器装置。
一些示例实施例提供一种操作半导体存储器装置的方法,该方法能够增强操作特性并减小逻辑电路的大小。
根据一些示例实施例,一种半导体存储器装置包括存储器单元阵列、裸片上纠错码(ECC)引擎和控制逻辑电路。在写入操作期间,裸片上ECC引擎可通过用从控制逻辑电路接收的随机二进制码对从外部装置接收的第一主数据进行加扰(即,编码)来生成第二主数据,对第二主数据执行ECC编码以生成奇偶校验数据,并且将第二主数据和奇偶校验数据存储在存储器单元阵列中的目标页中。在读取操作期间,裸片上ECC引擎可从目标页读取第二主数据和奇偶校验数据,与通过利用随机二进制码对第二主数据进行加扰来生成第一主数据并行地,基于奇偶校验数据对第二主数据执行ECC解码以生成校验子,并且基于校验子来校正第一主数据中的至少一个错误位。
根据一些示例实施例,一种半导体存储器装置包括存储器单元阵列、裸片上纠错码(ECC)引擎和控制逻辑电路。在写入操作期间,裸片上ECC引擎可通过利用从控制逻辑电路接收的随机二进制码对从外部装置接收的主数据进行加扰(即,编码)来生成加扰后的主数据,对加扰后的主数据执行ECC编码以生成奇偶校验数据,并且将加扰后的主数据和奇偶校验数据存储在存储器单元阵列中的目标页中。在读取操作期间,裸片上ECC引擎从目标页读取加扰后的主数据和奇偶校验数据,与通过利用随机二进制码对加扰后的主数据进行加扰来生成主数据并行地,基于奇偶校验数据对加扰后的主数据执行ECC解码以生成校验子,并且基于校验子来校正主数据中的至少一个错误位。
根据一些示例实施例,在操作包括存储器单元阵列和裸片上纠错码(ECC)引擎的半导体存储器装置的方法中,存储器单元阵列包括连接到多条字线和多条位线的多个存储器单元,由裸片上ECC引擎通过利用随机二进制码对第一主数据进行加扰(即,编码)来生成第二主数据,基于第一主数据生成的第二主数据和奇偶校验数据被存储在存储器单元阵列中的目标页中;与通过利用随机二进制码对第二主数据进行加扰(即,编码)来生成第一主数据并行地,由裸片上ECC引擎基于从目标页读取的奇偶校验数据对从目标页读取的第二主数据执行ECC解码以生成校验子;并且由裸片上ECC引擎基于校验子来校正第一主数据中的至少一个错误位。
因此,根据示例实施例的半导体存储器装置与通过对从存储器单元阵列读取的第二主数据执行ECC解码来生成校验子并行地,通过利用随机二进制码对第二主数据进行加扰(即,编码)来生成第一主数据,并且基于校验子来校正第一主数据中的至少一个错误位。因为半导体存储器装置在执行ECC解码之后不执行数据加扰(即,编码),所以数据加扰不需要额外的时间。因此,根据本发明构思的方面的半导体存储器装置可减少与读取操作相关联的时延,同时减少当固定数据模式被重复时出现的模式噪声,并且可减小与数据加扰相关联的逻辑电路系统的尺寸。
附图说明
以下附图仅作为示例而非限制地呈现,其中,相同的附图参考标号(当使用时)在若干示图中指示相应的元件,其中,
图1是示出根据示例实施例的存储器系统的框图;
图2示出根据一些示例实施例的与图1的存储器系统中的多个突发长度对应的第一主数据;
图3是示出根据一些示例实施例的图1中的存储器控制器的示例的框图;
图4是示出根据示例实施例的图3的存储器控制器中的ECC解码器的示例的框图;
图5是示出根据示例实施例的图1的存储器系统中的半导体存储器装置的示例的框图;
图6示出根据示例实施例的图5的半导体存储器装置中的第一存储体阵列的示例;
图7是示出根据示例实施例的图5的半导体存储器装置中的裸片上ECC引擎的示例的框图;
图8示出根据示例实施例的图7中的裸片上ECC引擎中的第一主数据、第二主数据和随机二进制码的示例;
图9A是示出根据示例实施例的图7的裸片上ECC引擎中的第一数据扰码器的示例的电路图;
图9B是示出根据示例实施例的图7的裸片上ECC引擎中的第二数据扰码器的示例的电路图;
图10示出根据示例实施例的图7的裸片上ECC引擎中的编码/解码逻辑的示例;
图11示出根据示例实施例的图7的裸片上ECC引擎中的数据校正器的示例;
图12示出根据示例实施例的图5的半导体存储器装置中的第一存储体阵列的示例;
图13示出根据示例实施例的图12中的第一存储体阵列的一部分;
图14示出用于解释正常模式的写入操作的图5的半导体存储器装置的一部分;
图15示出用于解释读取操作的图5的半导体存储器装置的一部分;
图16示出图5的半导体存储器装置执行写入操作;
图17示出图5的半导体存储器装置执行写入操作;
图18是示出根据示例实施例的存储器系统的示例的框图;
图19是示出根据示例实施例的图18的存储器系统中的裸片上ECC引擎的示例的框图;
图20是示出根据示例实施例的图19的裸片上ECC引擎中的第二数据扰码器的示例的电路图;
图21示出根据示例实施例的图19的裸片上ECC引擎中的编码/解码逻辑的示例;
图22示出根据示例实施例的图19的裸片上ECC引擎中的数据校正器的示例;
图23是示出根据示例实施例的操作半导体存储器装置的方法的流程图;
图24是示出根据示例实施例的存储器模块的示例的框图;
图25是示出根据示例实施例的半导体存储器装置的框图;以及
图26是示出根据示例实施例的包括堆叠的存储器装置的半导体封装件的示图。
具体实施方式
在下文中将参照附图更全面地描述本公开的各种示例实施例。贯穿附图,相同的参考标号可指代相同的元件。
图1是示出根据本公开的示例实施例的存储器系统的框图。
参照图1,存储器系统20可包括存储器控制器100(例如,外部装置)和半导体存储器装置200。
存储器控制器100可控制存储器系统20的总体操作。存储器控制器100可控制外部主机与半导体存储器装置200之间的总体数据交换。例如,存储器控制器100可响应于来自主机的请求,将数据写入半导体存储器装置200中或从半导体存储器装置200读取数据。另外,存储器控制器100可向半导体存储器装置200发出操作命令以控制半导体存储器装置200。
在示例实施例中,半导体存储器装置200是包括多个动态(易失性)存储器单元的存储器装置(诸如,动态随机存取存储器(DRAM)或图形双倍数据速率7(GDDR7)同步DRAM(SDRAM))。
在一个或多个实施例中,存储器控制器100可被配置为将时钟信号CLK、命令CMD和地址(信号)ADDR发送到半导体存储器装置200,并且与半导体存储器装置200交换第一主数据MD1。
存储器控制器100可包括中央处理器(CPU)110和数据扰码器(data scrambler)(即,编码器)125。
CPU 110可控制存储器控制器100的总体操作,并且数据扰码器125可通过利用随机二进制码基于用户数据对原始主数据进行加扰(即,编码)来生成第一主数据MD1。
半导体存储器装置200可包括存储器单元阵列310、裸片上(on-die)纠错码(ECC)引擎400和控制逻辑电路210,存储器单元阵列310存储与第一主数据MD1对应的第二主数据。在一个或多个实施例中,CPU 110可被配置为:基于可在半导体存储器装置200的测试模式下生成的严重性信号(或其他指示符)来确定裸片上ECC引擎400是否正常操作。存储器单元阵列310可包括沿着第一方向和第二方向布置的多个子阵列块,第二方向与第一方向交叉(未明确示出而是暗示)。
在写入操作期间,裸片上ECC引擎400可通过利用从控制逻辑电路210接收的随机二进制码对第一主数据MD1进行加扰来生成第二主数据,可对第二主数据执行ECC编码以生成奇偶校验数据,并且可将第二主数据和奇偶校验数据存储在存储器单元阵列310中的目标页中。
在读取操作期间,裸片上ECC引擎400可从目标页读取第二主数据和奇偶校验数据,与通过利用随机二进制码对第二主数据进行加扰来生成第一主数据MD1并行地,基于奇偶校验数据对第二主数据执行ECC解码以生成校验子,并且可基于校验子纠正第一主数据MD1中的至少一个错误位。
第一主数据MD1和第二主数据中的每个可包括多个数据位,并且多个数据位可被划分为多个子数据单元。第一主数据MD1可包括多个第一子数据单元,并且第二主数据可包括多个第二子数据单元。
半导体存储器装置200可执行突发操作(burst operation)。这里,“突发操作”表示通过顺序地增大或减小从存储器控制器100提供的初始地址来写入或读取大量数据的操作。突发操作的基本单位可被称为突发长度BL。在示例实施例中,突发长度BL可表示通过顺序地增大或减小初始地址来连续地读取或写入数据的操作的数量。
图2示出根据一些示例实施例的与图1的存储器系统中的多个突发长度对应的第一主数据MD1。
参照图2,可将与多个突发长度对应的第一主数据MD1输入到半导体存储器装置200(参见图1)/从半导体存储器装置200输出与多个突发长度对应的第一主数据MD1。第一主数据MD1可包括多个第一子数据单元SDU11、SDU12、SDU13、……、SDU1t(其中,t是等于或大于8的自然数),第一子数据单元中的每个对应于多个突发长度中的每个。第一子数据单元SDU11、SDU12、SDU13、……、SDU1t中的每个可包括第一数据位DQ1至DQ8。在图2中假设突发长度为32,而发明的实施例不限于特定的突发长度。与对应于多个突发长度的第一主数据MD1对应的第二主数据可被存储在半导体存储器装置200的存储器单元阵列310中(参见图1)。
图3是示出根据一些示例实施例的图1中示出的示例性存储器控制器100的至少一部分的框图。
参照图3,存储器控制器100可包括CPU 110、数据缓冲器120、数据扰码器125、(系统)ECC引擎130、命令缓冲器180和地址缓冲器190。ECC引擎130可包括奇偶校验位生成器140、缓冲器145、被配置为存储第二ECC(ECC2)155的存储器150以及ECC解码器160。
CPU 110可从(存储器控制器100外部的)主机接收请求REQ和数据DTA,并且可将数据DTA提供给数据缓冲器120。
数据缓冲器120可对数据DTA进行缓冲,以将原始主数据MD提供给数据扰码器125。
数据扰码器125可基于与随机二进制码RBC组合的原始主数据MD的数据位来生成第一主数据MD1,并且可将第一主数据MD1提供给奇偶校验位生成器140和半导体存储器装置200(参见图1)。
奇偶校验位生成器140连接到存储器150,可使用第二ECC 155对第一主数据MD1执行ECC编码以生成奇偶校验数据PRTc,并且可将奇偶校验数据PRTc存储在缓冲器145中。
在半导体存储器装置200的读取操作期间,ECC解码器160可从半导体存储器装置200接收第一主数据MD1,可通过使用第二ECC(ECC2)155和奇偶校验数据PRTc对第一主数据MD1执行ECC解码,并且可将校正后的主数据C_MD1提供给CPU 110。CPU 110可将校正后的主数据C_MD1提供给主机。
命令缓冲器180可在CPU 110的控制下存储与请求REQ对应的命令CMD,并且可将命令CMD发送到半导体存储器装置200(参见图1)。地址缓冲器190可在CPU 110的控制下存储地址ADDR,并且可将地址ADDR发送到半导体存储器装置200(参见图1)。
图4是示出根据示例实施例的图3的存储器控制器100中的示例性ECC解码器160的至少一部分的框图。
参照图4,ECC解码器160可包括校验位生成器161、校验子生成器163和数据校正器165。
校验位生成器161可接收第一主数据MD1,并且可使用第二ECC 155生成与第一主数据MD1对应的校验位CHBc。
校验子生成器163可逐位地将奇偶校验数据PRTc与校验位CHBc进行比较,以生成指示第一主数据MD1是否包括至少一个错误位并且指示至少一个错误位在第一主数据MD1流中的位置的校验子数据SDRc。
数据校正器165可接收第一主数据MD1,并且可至少部分地基于校验子数据SDRc来校正第一主数据MD1中的(一个或多个)错误位,以输出校正后的主数据C_MD1。
图5是示出根据示例实施例的图1的说明性存储器系统20中的示例性半导体存储器装置200的至少一部分的框图。
参照图5,半导体存储器装置200可包括控制逻辑电路210、地址寄存器220、存储体控制逻辑230、刷新计数器245、行地址(RA)复用器240、列地址(CA)锁存器250、行解码器260、列解码器270、存储器单元阵列310、感测放大器单元285、输入/输出(I/O)门控电路290、裸片上ECC引擎400和数据I/O缓冲器295。
存储器单元阵列310可包括第一存储体阵列310a至第八存储体阵列310h,而本发明构思的实施例不限于此或者任何特定数量的存储体阵列。行解码器260可包括分别连接到第一存储体阵列310a至第八存储体阵列310h的第一行解码器260a至第八行解码器260h,列解码器270可包括分别连接到第一存储体阵列310a至第八存储体阵列310h的第一列解码器270a至第八列解码器270h,并且感测放大器单元285可包括分别连接到第一存储体阵列310a至第八存储体阵列310h的第一感测放大器285a至第八感测放大器285h。
第一存储体阵列310a至第八存储体阵列310h、第一行解码器260a至第八行解码器260h、第一列解码器270a至第八列解码器270h、以及第一感测放大器285a至第八感测放大器285h可形成第一存储体至第八存储体。第一存储体阵列310a至第八存储体阵列310h中的每个可包括多个易失性存储器单元MC,存储器单元MC优选地形成在多条字线WL和多条位线BTL的唯一交叉点处。
地址寄存器220可从存储器控制器100接收地址ADDR,地址ADDR包括存储体地址BANK_ADDR、行地址ROW_ADDR和列地址COL_ADDR。地址寄存器220可将接收的存储体地址BANK_ADDR提供给存储体控制逻辑230,可将接收的行地址ROW_ADDR提供给行地址复用器240,并且可将接收的列地址COL_ADDR提供给列地址锁存器250。
存储体控制逻辑230可响应于存储体地址BANK_ADDR生成存储体控制信号。响应于存储体控制信号中的相应一个被接收,第一行解码器260a至第八行解码器260h中的与存储体地址BANK_ADDR对应的一个可被激活,并且响应于存储体控制信号中的相应一个被接收,第一列解码器270a至第八列解码器270h中的与存储体地址BANK_ADDR对应的一个可被激活。
行地址复用器240可从地址寄存器220接收行地址ROW_ADDR,并且可从刷新控制电路385接收刷新行地址REF_ADDR。行地址复用器240可选择性地输出行地址ROW_ADDR或刷新行地址REF_ADDR作为行地址RA。从行地址复用器240输出的行地址RA可被施加到第一行解码器260a至第八行解码器260h。
刷新计数器245可在控制逻辑电路210的控制下顺序地增大或减小刷新行地址REF_ADDR。
控制逻辑电路210可被配置为接收从存储器控制器100(参见图1)供应的命令CMD。当来自存储器控制器100的命令CMD对应于自动刷新命令或自刷新进入命令时,控制逻辑电路210可控制刷新计数器245顺序地输出刷新行地址REF_ADDR。
第一行解码器260a至第八行解码器260h中的由存储体控制逻辑230激活的一个可对从行地址复用器240输出的行地址RA进行解码,并且可激活与行地址RA对应的字线。例如,激活的行解码器可将字线驱动电压施加到与行地址RA对应的字线。
列地址锁存器250可从地址寄存器220接收列地址COL_ADDR,并且可至少临时存储接收的列地址COL_ADDR。在一些实施例中,在突发模式下,列地址锁存器250可生成从接收的列地址COL_ADDR递增的列地址COL_ADDR'。列地址锁存器250可将临时存储或生成的列地址COL_ADDR'施加到第一列解码器270a至第八列解码器270h。
第一列解码器270a至第八列解码器270h中的被激活的一个又可通过I/O门控电路290激活与存储体地址BANK_ADDR和列地址COL_ADDR'对应的感测放大器。
I/O门控电路290可包括用于门控输入/输出数据的电路系统,并且还可包括输入数据掩码逻辑、用于存储从第一存储体阵列310a至第八存储体阵列310h输出的数据的读取数据锁存器、以及用于将数据写入第一存储体阵列310a至第八存储体阵列310h的写入驱动器。
从第一存储体阵列310a至第八存储体阵列310h中的选择的存储体阵列读取的码字CW可由第一感测放大器285a至第八感测放大器285h中的连接到将从其读取数据的选择的存储体阵列的中的对应一个感测放大器感测,并且可被存储在I/O门控电路290中的相应读取数据锁存器中。存储在读取数据锁存器中的码字CW可被提供给裸片上ECC引擎400。裸片上ECC引擎400可通过对码字CW执行ECC解码来生成第一主数据MD1,并且在由裸片上ECC引擎400对码字CW执行ECC解码之后,第一主数据MD1可经由数据I/O缓冲器295被发送到存储器控制器100。
将被写入第一存储体阵列310a至第八存储体阵列310h的一个存储体阵列中的第一主数据MD1可从存储器控制器100被提供给数据I/O缓冲器295,并且可从数据I/O缓冲器295被提供给裸片上ECC引擎400。裸片上ECC引擎400可基于第一主数据MD1生成第二主数据,可基于第二主数据生成奇偶校验数据,并且可向I/O门控电路290提供包括第二主数据和奇偶校验数据的码字CW。I/O门控电路290可通过I/O门控电路290中的写入驱动器将码字CW写入一个存储体阵列中的目标页的子页中。
数据I/O缓冲器295可在半导体存储器装置200的写入操作期间,将第一主数据MD1从存储器控制器100提供给裸片上ECC引擎400,并且可在半导体存储器装置200的读取操作期间,将从裸片上ECC引擎400提供的第一主数据MD1提供给存储器控制器100。
在写入操作期间,裸片上ECC引擎400可通过利用从控制逻辑电路210接收的随机二进制码RBC对第一主数据MD1进行加扰(即,编码)来生成第二主数据,可对第二主数据执行ECC编码以生成奇偶校验数据,并且可将第二主数据和奇偶校验数据存储在存储器单元阵列310中的目标页中。
在读取操作期间,裸片上ECC引擎400可从目标页读取第二主数据和奇偶校验数据,与通过利用随机二进制码RBC对第二主数据进行加扰来生成第一主数据MD1并行地,基于奇偶校验数据对第二主数据执行ECC解码以生成校验子,并且可至少部分地基于校验子来校正第一主数据MD1中的至少一个错误位。
控制逻辑电路210可控制半导体存储器装置200的一个或多个操作。例如,控制逻辑电路210可生成用于半导体存储器装置200的控制信号,以便执行写入操作、读取操作和测试模式下的操作。控制逻辑电路210可包括命令解码器211和模式寄存器212,命令解码器211被配置为对从存储器控制器100接收的命令CMD进行解码,模式寄存器212设置半导体存储器装置200的操作模式。随机二进制码RBC可由存储器控制器100设置在模式寄存器212中,并且控制逻辑电路210可向裸片上ECC引擎400提供设置在模式寄存器212中的随机二进制码RBC。
例如,命令解码器211可通过对写入使能信号、行地址选通信号、列地址选通信号、芯片选择信号等进行解码来生成与命令CMD对应的控制信号。
控制逻辑电路210可通过对提供给控制逻辑电路210的命令CMD进行解码来生成第一控制信号CTL1和第二控制信号CTL2,第一控制信号CTL1用于控制I/O门控电路290,第二控制信号CTL2用于控制裸片上ECC引擎400。
图6示出根据示例实施例的图5的半导体存储器装置中的第一存储体阵列310a的至少一部分的示例。
参照图6,第一存储体阵列310a可包括多条字线WL0至WLm-1(其中,m是等于或大于2的偶数)、多条位线BTL0至BTLn-1(其中,n是等于或大于2的偶数)、以及设置在字线WL0至WLm-1与位线BTL0至BTLn-1之间的交叉点处的多个存储器单元MC。
字线WL0至WLm-1可沿着第一方向D1(例如,行或水平方向)延伸,并且位线BTL0至BTLn-1可沿着第二方向D2(例如,列或垂直方向)延伸。将理解,本发明构思的实施例不限于字线和位线的任何特定方向。
每个存储器单元MC包括连接到字线WL0至WLm-1中的一条和位线BTL0至BTLn-1中的一条的存取(单元)晶体管、以及连接到单元晶体管的存储(单元)电容器。也就是说,每个存储器单元MC具有DRAM单元结构。
另外,取决于存储器单元MC是连接到偶数字线(例如,WL0)还是奇数字线(例如,WL1),存储器单元MC可具有不同的布置。也就是说,连接到相邻存储器单元的位线可根据由存取地址选择的字线是偶数字线还是奇数字线而不同。
图7是示出根据示例实施例的图5的半导体存储器装置200中的示例裸片上ECC引擎400的至少一部分的框图。
参照图7,裸片上ECC引擎400可包括第一数据扰码器(编码器)410、写入先入先出(FIFO)寄存器420、第二数据扰码器(编码器)430、读取FIFO寄存器425、复用器427、编码/解码逻辑(又称为编码/解码逻辑电路)440、数据校正器470和缓冲器电路490。
缓冲器电路490可包括多个缓冲器(例如,缓冲器491、492、493和494)。缓冲器491、492、493和494中的每个可以是非反相缓冲器,而反相缓冲器也类似地被预期。缓冲器491、492、493和494可由缓冲器控制信号BCTL控制。
第一数据扰码器410可通过在写入操作期间利用随机二进制码RBC对第一主数据MD1进行加扰(即,编码)来生成第二主数据MD2,并且可将第二主数据MD2存储在写入FIFO寄存器420中。例如,写入FIFO寄存器420可顺序地存储第二主数据MD2的多个第二子数据单元。存储在写入FIFO寄存器420中的第二主数据MD2可通过缓冲器491被存储在存储器单元阵列310(参见图5)的目标页中。
响应于选择信号SS1,复用器427可在写入操作期间向编码/解码逻辑440提供来自第一数据扰码器410的第二主数据MD2,并且可在读取操作期间向编码/解码逻辑440提供通过缓冲器492从目标页读取的第二主数据MD2。
第二数据扰码器430可在读取操作期间从缓冲器492接收第二主数据MD2,可通过利用随机二进制码RBC对第二主数据MD2进行加扰(即,编码)来生成第一主数据MD1,并且可提供第一主数据MD1以存储在读取FIFO寄存器425中。例如,读取FIFO寄存器425可顺序地存储第一主数据MD1的多个第一子数据单元。读取FIFO寄存器425可将第一主数据MD1提供给数据校正器470。由第二数据扰码器430生成的第一主数据MD1可被称为第三主数据。因为第三主数据可通过利用随机二进制码RBC对第二主数据MD2进行加扰而生成,并且加扰对应于异或(XOR)运算,所以第三主数据可对应于第一主数据MD1。
在写入操作期间,编码/解码逻辑440可从复用器427接收第二主数据MD2,可通过对第二主数据MD2执行ECC编码来生成奇偶校验数据PRT,并且可通过缓冲器493将奇偶校验数据PRT提供给存储器单元阵列310的目标页(参见图5)。在读取操作期间,编码/解码逻辑440可从复用器427接收第二主数据MD2,可从缓冲器494接收奇偶校验数据PRT,可通过对第二主数据MD2和奇偶校验数据PRT执行ECC解码来生成校验子SDR,并且可将校验子SDR提供给数据校正器470。
在读取操作期间,与第二数据扰码器430通过利用随机二进制码RBC对第二主数据MD2进行加扰来生成第一主数据MD1并提供第一主数据MD1以存储在读取FIFO寄存器425中并行地,编码/解码逻辑440可通过对第二主数据MD2和奇偶校验数据PRT执行ECC解码来生成校验子SDR,并且可将校验子SDR提供给数据校正器470。
在读取操作期间,数据校正器470可从读取FIFO寄存器425接收第一主数据MD1,并且可通过基于校验子SDR对第一主数据MD1中的至少一个错误位进行校正来输出校正后的主数据C_MD1。
图7中的缓冲器控制信号BCTL和选择信号SS1可被包括在图5中的第二控制信号CTL2中。
图8示出根据示例实施例的图7中示出的示例裸片上ECC引擎400中的第一主数据、第二主数据和随机二进制码RBC的示例。
参照图8,第一主数据MD1可包括多个第一子数据单元SDU11、SDU12、……、SDU1t,并且多个第一子数据单元SDU11、SDU12、……、SDU1t中的每个可包括第一数据位。例如,第一子数据单元SDU11可包括第一数据位DQ11至DQ18。在下文中,为了便于解释,可假设多个第一子数据单元SDU11、SDU12、……、SDU1t中的每个包括第一数据位DQ11至DQ18。
第二主数据MD2可包括多个第二子数据单元SDU21、SDU22、……、SDU2t,并且多个第二子数据单元SDU21、SDU22、……、SDU2t中的每个可包括第二数据位。例如,第二子数据单元SDU21可包括第二数据位DQ21至DQ28。在下文中,为了便于解释,可假设多个第二子数据单元SDU21、SDU22、……、SDU2t中的每个包括第二数据位DQ21至DQ28。
随机二进制码RBC可包括多个码位CB1、CB2、……、CBt,多个码位CB1、CB2、……、CBt的数量与多个第一子数据单元SDU11、SDU12、……、SDU1t的数量和多个第二子数据单元SDU21、SDU22、……、SDU2t的数量对应。多个码位CB1、CB2、……、CBt中的每个可随机地具有第一逻辑电平(即,逻辑高电平或“1”)和第二逻辑电平(即,逻辑低电平或“0”)中的一个。
因此,图7中的第一数据扰码器410可通过利用多个码位CB1、CB2、……、CBt中的相应码位对第一子数据单元SDU11、SDU12、……、SDU1t中的每个的第一数据位DQ11至DQ18进行加扰,生成包括第二子数据单元SDU21、SDU22、……、SDU2t的第二主数据MD2。图7中的第二数据扰码器430可通过利用多个码位CB1、CB2、……、CBt中的相应码位对第二子数据单元SDU21、SDU22、……、SDU2t中的每个的第二数据位DQ21至DQ28进行加扰,生成包括第一子数据单元SDU11、SDU12、……、SDU1t的第一主数据MD1。
第一数据扰码器410可通过利用码位CB1对第一子数据单元SDU11的第一数据位DQ11至DQ18中的每个进行加扰,生成第二子数据单元SDU21的第二数据位DQ21至DQ28。另外,第二数据扰码器430可通过利用码位CB1对第二子数据单元SDU21的第二数据位DQ21至DQ28中的每个进行加扰,生成第一子数据单元SDU11的第一数据位DQ11至DQ18。
图9A是示出根据示例实施例的图7的说明性裸片上ECC引擎400中的第一数据扰码器410的示例的电路图。
参照图9A,第一数据扰码器410可包括多个XOR门411、412、413、414、415、416、417和418。多个XOR门411、412、413、414、415、416、417和418中的每个可通过对“第一子数据单元SDU11、SDU12、……、SDU1t中的每个的第一数据位DQ11、DQ12、DQ13、DQ14、DQ15、DQ16、DQ17和DQ18中的相应一个”和“随机二进制码RBC的多个码位CB1、CB2、……、CBt中的相应码位”执行XOR运算,分别生成第二子数据单元SDU21、SDU22、……、SDU2t中的每个的第二数据位DQ21、DQ22、DQ23、DQ24、DQ25、DQ26、DQ27和DQ28中的相应一个。
当多个码位CB1、CB2、……、CBt中的相应码位具有第一逻辑电平时,第一数据位DQ11、DQ12、DQ13、DQ14、DQ15、DQ16、DQ17和DQ18中的相应一个被反相,并且被提供为第二数据位DQ21、DQ22、DQ23、DQ24、DQ25、DQ26、DQ27和DQ28中的相应一个。当多个码位CB1、CB2、……、CBt中的相应码位具有第二逻辑电平时,第一数据位DQ11、DQ12、DQ13、DQ14、DQ15、DQ16、DQ17和DQ18中的相应一个被保持(即,不被反相)并且被提供为第二数据位DQ21、DQ22、DQ23、DQ24、DQ25、DQ26、DQ27和DQ28中的相应一个。
图9B是示出根据示例实施例的图7的裸片上ECC引擎400中的第二数据扰码器430的示例的电路图。
参照图9B,与第一数据扰码器410类似,第二数据扰码器430可包括多个XOR门431、432、433、434、435、436、437和438。多个XOR门431、432、433、434、435、436、437和438中的每个可通过对“第二子数据单元SDU21、SDU22、……、SDU2t中的每个的第二数据位DQ21、DQ22、DQ23、DQ24、DQ25、DQ26、DQ27和DQ28中的相应一个”和“随机二进制码RBC的多个码位CB1、CB2、……、CBt中的相应码位”执行XOR运算,分别生成第一子数据单元SDU11、SDU12、……、SDU1t中的每个的第一数据位DQ11、DQ12、DQ13、DQ14、DQ15、DQ16、DQ17和DQ18中的相应一个。
当多个码位CB1、CB2、……、CBt的相应码位具有第一逻辑电平时,第二数据位DQ21、DQ22、DQ23、DQ24、DQ25、DQ26、DQ27和DQ28中的相应一个被反相,并且被提供为第一数据位DQ11、DQ12、DQ13、DQ14、DQ15、DQ16、DQ17和DQ18中的相应一个。当多个码位CB1、CB2、……、CBt中的相应码位具有第二逻辑电平时,第二数据位DQ21、DQ22、DQ23、DQ24、DQ25、DQ26、DQ27和DQ28中的对应一个被保持(即,不被反相的),并且被提供为第一数据位DQ11、DQ12、DQ13、DQ14、DQ15、DQ16、DQ17和DQ18中的相应一个。
第二子数据单元SDU21、SDU22、……、SDU2t中的每个可被存储在存储器单元阵列310中的多个子阵列块之中的同一子阵列块中(参见图5)。因此,可将相同的码位(例如,码位CB1)应用于第一子数据单元SDU11的第一数据位DQ11、DQ12、DQ13、DQ14、DQ15、DQ16、DQ17和DQ18,并且应用于第二子数据单元SDU21的第二数据位DQ21、DQ22、DQ23、DQ24、DQ25、DQ26、DQ27和DQ28。
图10示出根据示例实施例的图7的裸片上ECC引擎400中的编码/解码逻辑440的示例。
参照图10,编码/解码逻辑440可包括奇偶校验位生成器441、校验位生成器443、校验子生成器450和存储器445。存储器445可存储第一ECC(ECC1)447。
奇偶校验位生成器441可连接到存储器445,并且可使用异或门阵列基于第二主数据MD2生成奇偶校验数据PRT。
校验位生成器443可连接到存储器445,并且可在读取操作期间使用第一ECC 447基于第二主数据MD2生成校验位CHB。
校验子生成器450可在读取操作期间基于校验位CHB和来自缓冲器494(参见图7)的奇偶校验数据PRT生成校验子SDR,校验位CHB基于第二主数据MD2。校验子生成器450可基于校验位CHB中的每个是否与奇偶校验数据PRT的位中的相应位匹配来生成校验子SDR。
校验子SDR可包括多个校验子位,并且多个校验子位中的每个可指示校验位CHB中的每个是否与奇偶校验数据PRT的位中的相应位匹配。因此,校验子SDR可指示错误位的位置和错误位的数量。
图11示出根据示例实施例的图7的裸片上ECC引擎400中的数据校正器470的示例。
参照图11,数据校正器470可包括校验子解码器471、位反相器473和可通过复用器实现的选择电路475。
校验子解码器471可对供应给它的校验子SDR进行解码,并且生成解码信号DS和第二选择信号SS2。解码信号DS可指示至少一个错误的位置,并且第二选择信号SS2可具有指示至少一个错误位的数量的逻辑电平。位反相器473可响应于解码信号DS而使至少一个错误位反相。选择电路475可响应于第二选择信号SS2,选择第一主数据MD1和位反相器473的输出中的一个以提供校正后的主数据C_MD1。
图12示出根据示例实施例的图5的半导体存储器装置200中的第一存储体阵列310a的示例。
参照图12,在第一存储体阵列310a中,I个子阵列块SCB可沿着第一方向D1设置,并且J个子阵列块SCB可沿着基本上垂直于第一方向D1的第二方向D2设置。I和J分别表示沿着第一方向D1和第二方向D2的子阵列块SCB的数量,并且是大于2的自然数。发明构思的实施例不限于I和J的任何特定数量,此外,I和J不需要是相同的数量(尽管它们可以是相同的数量)。
多条位线、多条字线和连接到位线和字线的多个存储器单元设置在每个子阵列块SCB中。
I+1个子字线驱动器区域SWB可沿着第一方向D1设置在子阵列块SCB之间,也可沿着第一方向D1设置在每个子阵列块SCB的每一侧上。子字线驱动器可设置在子字线驱动器区域SWB中。J+1个位线感测放大器区域BLSAB可沿着第二方向D2设置在例如子阵列块SCB之间、以及沿着第二方向D2设置在每个子阵列块SCB的上方和下方。用于感测存储在存储器单元中的数据的位线感测放大器可设置在位线感测放大器区域BLSAB中。
可在每个子字线驱动器区域SWB中设置多个子字线驱动器。一个子字线驱动器区域SWB可与沿着第一方向D1邻近于子字线驱动器区域SWB的两个子阵列块SCB相关联。
多个结合区域CONJ可邻近子字线驱动器区域SWB和位线感测放大器区域BLSAB设置。电压生成器可设置在每个结合区域CONJ中。下面可参照图13更详细地描述第一存储体阵列310a中的部分390。
图13示出根据示例实施例的图12中的第一存储体阵列310a的一部分390。
参照图12和图13,第一存储体阵列310a的部分390包括子阵列块SCB、两个位线感测放大器区域BLSAB1和BLSAB2、两个子字线驱动器区域SWB和四个结合区域CONJ。
子阵列块SCB包括沿着第一方向D1延伸的多条字线WL1至WL4、以及沿着第二方向D2延伸的多个位线对BTL1和BTLB1以及BTL2和BTLB2。第一方向D1可垂直于第二方向D2。子阵列块SCB包括设置在字线WL1至WL4与位线对BTL1和BTLB1以及BTL2和BTLB2的交叉点处的多个存储器单元MC。
参照图13,子字线驱动器区域SWB包括分别驱动字线WL1至WL4的多个子字线驱动器SWD 551、552、553和554。子字线驱动器551和552可设置在相对于子阵列块SCB位于左侧(在本示例中)的子字线驱动器区域SWB中。另外,子字线驱动器553和554可设置在相对于子阵列块SCB位于右侧(在本示例中)的子字线驱动器区域SWB中。
位线感测放大器区域BLSAB1和BLSAB2包括分别连接到相应的位线对BTL1和BTLB1以及BTL2和BTLB2的位线感测放大器BLSA 560和位线感测放大器563、以及相应的局部感测放大器(LSA)电路570和573。位线感测放大器560可感测并放大位线对BTL1与BTLB1之间的电压差,以将放大的电压差提供给局部I/O线对LIO1和LIOB1。位线感测放大器563可感测并放大位线对BTL2与BTLB2之间的电压差,以将放大的电压差提供给局部I/O线对LIO2和LIOB2。
局部感测放大器电路570可控制局部I/O线对LIO1和LIOB1与全局I/O线对GIO1和GIOB1之间的连接。类似地,局部感测放大器电路573可控制局部I/O线对LIO2和LIOB2与全局I/O线对GIO2和GIOB2之间的连接。
如图13中所示,位线感测放大器560和位线感测放大器563可交替地设置在子阵列块SCB的上部和下部。结合区域CONJ邻近位线感测放大器区域BLSAB1和BLSAB2以及子字线驱动器区域SWB设置。结合区域CONJ也设置在图13中的子阵列块SCB的每个角处。多个电压生成器(VG)510、520、530和540可设置在结合区域CONJ中。将理解,图13中示出的位线感测放大器560、563和结合区域CONJ的位置仅仅是说明性的,并且根据发明构思的实施例,其他布置被类似地设想。
图14示出根据一个或多个实施例的用于解释正常模式的写入操作的图5的半导体存储器装置200的一部分。
在图14中,示出控制逻辑电路210、第一存储体阵列310a、I/O门控电路290和裸片上ECC引擎400。
参照图14,第一存储体阵列310a包括正常单元区域NCA和冗余单元区域RCA。
正常单元区域NCA包括多个第一存储器块MB0至MB15(即,311至313),并且冗余单元区域RCA至少包括第二存储器块314。第一存储器块311至313可以是确定或用于确定半导体存储器装置200的存储器容量的存储器块。第二存储器块314可被配置用于ECC和/或冗余修复。由于用于ECC和/或冗余修复的第二存储器块314用于ECC、数据线修复和块修复以修复在第一存储器块311至313中产生的“故障”单元,因此第二存储器块314也被称为EDB块。第一存储器块311至313中的每个包括连接到字线WL和位线BTL的存储器单元,并且第二存储器块314包括连接到字线WL和冗余位线RBTL的存储器单元。冗余单元区域RCA可被称为奇偶校验单元区域。
I/O门控电路290包括分别连接到第一存储器块311至313和第二存储器块314的多个开关电路291a至291d。如所示出的,开关电路291a至291d的至少一个子集中的每个可使用复用器(MUX)来实现。
裸片上ECC引擎400可通过第一数据线GIO和第二数据线EDBIO连接到开关电路291a至291d。控制逻辑电路210可接收命令CMD和地址ADDR,并且可对命令CMD进行解码,以生成用于控制开关电路291a至291d的第一控制信号CTL1和用于控制裸片上ECC引擎400的第二控制信号CTL2。另外,控制逻辑电路210可将随机二进制码RBC提供给裸片上ECC引擎400。
当命令CMD是写入命令时,控制逻辑电路210将第二控制信号CTL2提供给裸片上ECC引擎400。裸片上ECC引擎400响应于第二控制信号CTL2,通过利用随机二进制码RBC对第一主数据MD1进行加扰来生成第二主数据MD2,通过对第二主数据MD2执行ECC编码来生成奇偶校验数据PRT,并且向I/O门控电路290提供包括第二主数据MD2和奇偶校验数据PRT的码字CW。
控制逻辑电路210将第一控制信号CTL1提供给I/O门控电路290,使得码字CW将被存储在第一存储体阵列310a中的目标页的子页中。
图15示出用于解释读取操作的图5的半导体存储器装置200的一部分。将省略与图14重复的描述。
参照图15,当命令CMD是用于指定读取操作的读取命令时,控制逻辑电路210将第一控制信号CTL1提供给I/O门控电路290,使得存储在第一存储体阵列310a中的目标页的子页中的(读取)码字RCW(包括第二主数据MD2和奇偶校验数据PRT)被提供给裸片上ECC引擎400。
裸片上ECC引擎400与通过利用随机二进制码RBC对第二主数据MD2进行加扰来生成第一主数据MD1并行地,基于奇偶校验数据PRT对第二主数据MD2执行ECC解码,并且校正第一主数据MD1中的至少一个错误位(如果存在)以输出校正后的主数据C_MD1。
图16示出图5的半导体存储器装置执行写入操作。
参照图5、图7、图11和图16,当命令CMD是写入命令时,第一数据扰码器410通过利用随机二进制码RBC对第一主数据MD1进行加扰来生成第二主数据MD2;如附图标记581所示,奇偶校验位生成器441通过对第二主数据MD2执行ECC编码来生成奇偶校验数据PRT;并且如附图标记583所示,I/O门控电路290将第二主数据MD2和奇偶校验数据PRT存储在第一存储体阵列310a的目标页TPG中。例如,第一主数据MD1和第二主数据MD2中的每个可包括256位数据位,并且奇偶校验数据PRT可包括16位奇偶校验位。
图17示出根据一个或多个实施例的由图5的半导体存储器装置200执行的示例性写入操作的至少一部分。
参照图3、图7和图17,当命令CMD是写入命令时,如附图标记591所示,编码/解码逻辑440接收码字RCW,码字RCW可包括从第一存储体阵列310a的目标页TPG读取的第二主数据MD2和奇偶校验数据PRT;如附图标记592所示,与通过基于奇偶校验数据PRT对第二主数据MD2执行ECC解码来生成校验子SDR并且将校验子SDR提供给数据校正器470并行地,通过(例如,使用第二数据扰码器430)利用随机二进制码RBC对第二主数据MD2进行加扰来生成第一主数据MD1;并且将第一主数据MD1提供给数据校正器470。例如,校验子SDR可包括16位校验子位。
数据校正器470基于校验子校正第一主数据MD1中的至少一个错误位(如果存在),以输出校正后的主数据C_MD1。
图18是示出根据示例实施例的存储器系统20a的示例的至少一部分的框图。
参照图18,存储器系统20a可包括存储器控制器100a和半导体存储器装置200a。
存储器控制器100a将命令CMD和地址(信号)ADDR发送到半导体存储器装置200a,并且与半导体存储器装置200a交换主数据MD。
存储器控制器100a可包括CPU 110和ECC引擎130。
CPU 110可控制存储器控制器100的总体操作,并且可在不对用户数据进行加扰的情况下生成主数据。
ECC引擎130可校正从半导体存储器装置200a接收的主数据MD中的错误位。
半导体存储器装置200a包括存储器单元阵列310、裸片上ECC引擎400a和控制逻辑电路210,存储器单元阵列310存储与主数据MD对应的加扰后的主数据。存储器单元阵列310可包括沿着第一方向和第二方向布置的多个子阵列块,第二方向与第一方向交叉(例如,第二方向可正交于第一方向)(例如,与图6中所示的第一存储体阵列310a的说明性布置一致)。
在写入操作期间,裸片上ECC引擎400a可通过利用从控制逻辑电路210接收的随机二进制码对主数据MD进行加扰来生成加扰后的主数据,可对加扰后的主数据执行ECC编码以生成奇偶校验数据,并且可将加扰后的主数据和奇偶校验数据存储在存储器单元阵列310中的目标页中。
在读取操作期间,裸片上ECC引擎400a可从目标页读取加扰后的主数据和奇偶校验数据,与通过利用随机二进制码对加扰后的主数据进行加扰来生成主数据MD并行地,基于奇偶校验数据对加扰后的主数据执行ECC解码来生成校验子,可基于校验子来校正主数据MD中的至少一个错误位,并且可将校正后的主数据发送到存储器控制器100a。
主数据MD和加扰后的主数据中的每个可包括多个数据位,并且多个数据位可被划分为多个子数据单元。主数据MD可包括多个第一子数据单元,并且加扰后的主数据可包括多个第二子数据单元。
图19是示出根据示例实施例的图18的存储器系统中的裸片上ECC引擎400a的示例的框图。
参照图19,裸片上ECC引擎400a可包括第一数据扰码器410a、写入FIFO寄存器420a、第二数据扰码器430a、读取FIFO寄存器425a、复用器427、编码/解码逻辑440a、数据校正器470a和缓冲器电路490。
缓冲器电路490可包括缓冲器491、492、493和494。缓冲器491、492、493和494可由缓冲器控制信号BCTL控制。缓冲器491、492、493、494可以是反相缓冲器或非反相缓冲器。
第一数据扰码器410a可在写入操作期间通过利用随机二进制码RBC对主数据MD进行加扰(即,编码)来生成加扰后的主数据SMD,并且可将加扰后的主数据SMD存储在写入FIFO寄存器420a中。存储在写入FIFO寄存器420a中的加扰后的主数据SMD可通过缓冲器491被存储在存储器单元阵列310(参见图18)的目标页中。
响应于选择信号SS1,复用器427可在写入操作期间向编码/解码逻辑440a提供来自第一数据扰码器410a的加扰后的主数据SMD,并且可在读取操作期间向编码/解码逻辑440a提供通过缓冲器492从目标页读取的加扰后的主数据SMD。
第二数据扰码器430a可在读取操作期间从缓冲器492接收加扰后的主数据SMD,可通过利用随机二进制码RBC对加扰后的主数据SMD进行加扰(即,编码)来生成主数据MD,并且可提供主数据MD以存储在读取FIFO寄存器425a中。读取FIFO寄存器425a可将主数据MD提供给数据校正器470a。
在写入操作期间,编码/解码逻辑440a可从复用器427接收加扰后的主数据SMD,可通过对加扰后的主数据SMD执行ECC编码来生成奇偶校验数据PRT1,并且可通过缓冲器493将奇偶校验数据PRT1提供给存储器单元阵列310的目标页(参见图18)。在读取操作期间,编码/解码逻辑440a可从复用器427接收加扰后的主数据SMD,可从缓冲器494接收奇偶校验数据PRT1,可通过对加扰后的主数据SMD和奇偶校验数据PRT1执行ECC解码来生成校验子SDR1,并且可将校验子SDR1提供给数据校正器470a。
在读取操作期间,与第二数据扰码器430a通过利用随机二进制码RBC对加扰后的主数据SMD进行加扰来生成主数据MD,并且提供主数据MD以存储在读取FIFO寄存器425a中并行地,编码/解码逻辑440a可通过对加扰后的主数据SMD和奇偶校验数据PRT1执行ECC解码来生成校验子SDR1,并且将校验子SDR1提供给数据校正器470a。
在读取操作期间,数据校正器470a可从读取FIFO寄存器425a接收主数据MD,并且可通过基于校验子SDR1校正主数据MD中的至少一个错误位(如果存在)来输出校正后的数据C_MD。
图20是示出根据示例实施例的图19的裸片上ECC引擎400a中的第二数据扰码器430a的示例的电路图。
参照图20,第二数据扰码器430a可包括多个XOR门431a、432a、433a、434a、435a、436a、437a和438a。多个XOR门431a、432a、433a、434a、435a、436a、437a和438a中的每个可通过对“第二子数据单元中的每个的第二数据位SDQ1、SDQ2、SDQ3、SDQ4、SDQ5、SDQ6、SDQ7和SDQ8中的相应一个”和“随机二进制码RBC的多个码位CB1、CB2、……、CBt中的相应码位”执行XOR运算,分别生成主数据MD的第一子数据单元中的每个的第一数据位DQ1、DQ2、DQ3、DQ4、DQ5、DQ6、DQ7和DQ8中的每个。
当多个码位CB1、CB2、……、CBt中的相应码位具有第一逻辑电平时,第二数据位SDQ1、SDQ2、SDQ3、SDQ4、SDQ5、SDQ6、SDQ7和SDQ8中的相应一个被反相,并且被提供为第一数据位DQ1、DQ2、DQ3、DQ4、DQ5、DQ6、DQ7和DQ8中的相应一个。当多个码位CB1、CB2、……、CBt中的相应码位具有第二逻辑电平时,第二数据位SDQ1、SDQ2、SDQ3、SDQ4、SDQ5、SDQ6、SDQ7和SDQ8中的相应一个被保持(即,不被反相),并且被提供为第一数据位DQ1、DQ2、DQ3、DQ4、DQ5、DQ6、DQ7和DQ8中的相应一个。
加扰后的主数据SMD的每个第二子数据单元可被存储在存储器单元阵列310中的多个子阵列块之中的同一子阵列块中(参见图18)。因此,可将相同的码位(例如,码位CB1)应用于第一子数据单元的第一数据位DQ1、DQ2、DQ3、DQ4、DQ5、DQ6、DQ7和DQ8,并且应用于第二子数据单元的第二数据位SDQ1、SDQ2、SDQ3、SDQ4、SDQ5、SDQ6、SDQ7和SDQ8。
图21示出根据示例实施例的图19的裸片上ECC引擎400a中的编码/解码逻辑440a的示例。
参照图21,编码/解码逻辑440a可包括奇偶校验位生成器441a、校验位生成器443a、校验子生成器450a和存储器445。存储器445可存储第一ECC(ECC1)447。
奇偶校验位生成器441a可连接到存储器445,并且可使用异或门阵列基于加扰后的主数据SMD生成奇偶校验数据PRT1。
校验位生成器443a可连接到存储器445,并且可在读取操作期间使用第一ECC 447基于加扰后的主数据SMD来生成校验位CHB1。
校验子生成器450a可在读取操作期间基于校验位CHB1和来自缓冲器494(参见图19)的奇偶校验数据PRT1生成校验子SDR1,校验位CHB1基于加扰后的主数据SMD。校验子生成器450a可基于校验位CHB1中的每个是否与奇偶校验数据PRT1的位中的相应位匹配来生成校验子SDR1。
校验子SDR1可包括多个校验子位,并且多个校验子位中的每个可指示校验位CHB1中的每个是否与奇偶校验数据PRT1的位中的相应位匹配。因此,校验子SDR1可指示错误位的位置和错误位的数量。
图22示出根据示例实施例的图19的裸片上ECC引擎400a中的数据校正器470a的示例。
参照图22,数据校正器470a可包括校验子解码器471a、可使用XOR门实现的位反相器473a和可通过复用器实现的选择电路475a。
校验子解码器471a可对校验子SDR1进行解码,以生成解码信号DS1和第二选择信号SS2。解码信号DS1可指示至少一个错误位的位置,并且第二选择信号SS2可具有取决于至少一个错误位的数量的逻辑电平。位反相器473a可响应于解码信号DS1而使至少一个错误位反相。选择电路475a可响应于第二选择信号SS2选择主数据MD和位反相器473a的输出中的一个,以提供校正后的主数据C_MD。
图23是示出根据示例实施例的操作半导体存储器装置的示例方法的至少一部分的流程图。
参照图1至图17和图23,在操作半导体存储器装置200(包括存储器单元阵列310、裸片上ECC引擎400和控制逻辑电路210)的方法中,半导体存储器装置200可从存储器控制器100接收写入命令和第一主数据MD1(操作S110)。
裸片上ECC引擎400中的第一数据扰码器410可通过基于随机二进制码RBC对第一主数据MD1进行加扰(即,编码)来生成第二主数据MD2(操作S120)。
裸片上ECC引擎400中的编码/解码逻辑440可通过对第二主数据MD2执行ECC编码来生成奇偶校验数据PRT(操作S130)。
I/O门控电路290可将第二主数据MD2和奇偶校验数据PRT存储在存储器单元阵列310的目标页中(操作S140)。
裸片上ECC引擎400可响应于来自存储器控制器100的读取命令,从存储器单元阵列310的目标页读取第二主数据MD2和奇偶校验数据PRT(操作S150)。
裸片上ECC引擎400中的编码/解码逻辑440与通过基于奇偶校验数据PRT对第二主数据MD2执行ECC解码来生成校验子SDR并行地,通过利用随机二进制码RBC对第二主数据MD2进行加扰来生成第一主数据MD1(操作S160)。
裸片上ECC引擎400中的数据校正器470基于校验子SDR校正第一主数据MD1中的至少一个错误位(操作S170)。
数据I/O缓冲器295将校正后的主数据C_MD1发送到存储器控制器100(操作S180)。
因此,在半导体存储器装置和操作半导体存储器装置的方法中,裸片上ECC引擎可与通过对从存储器单元阵列读取的第二主数据执行ECC解码来生成校验子并行地,通过利用随机二进制码对第二主数据进行加扰来生成第一主数据,并且可基于校验子校正第一主数据中的至少一个错误位。因为裸片上ECC引擎在执行ECC解码之后不执行数据加扰,所以数据加扰不需要额外的时间。因此,裸片上ECC引擎可减少与读取操作相关联的延时,同时减少当固定数据模式时被重复时出现的模式噪声,并且可减小与数据加扰相关联的逻辑的大小。
图24是示出根据示例实施例的存储器模块600的示例的至少一部分的框图。
参照图24,存储器模块600包括设置(或安装)在电路板601中的寄存器时钟驱动器(RCD)690、多个半导体存储器装置201a至201e、202a至202e、203a至203e和204a至204e、多个数据缓冲器(DB)641至645和651至655、模块电阻单元660和670、串行存在检测(SPD)芯片680、以及电源管理集成电路(PMIC)685。
仅作为示例而非限制,作为印刷电路板的电路板601可在第一边缘部分(例如,右侧)603与第二边缘部分(例如,左侧)605之间沿着垂直于第二方向D2的第一方向D1延伸。第一边缘部分603和第二边缘部分605可沿着第二方向D2延伸。
RCD 690可设置在电路板601的中心。多个半导体存储器装置201a至201e、202a至202e、203a至203e和204a至204e可布置在RCD 690与第一边缘部分603之间以及RCD 690与第二边缘部分605之间的多个行中。
在这种情况下,半导体存储器装置201a至201e以及202a至202e可沿着RCD 690与第一边缘部分603之间的多个行布置。半导体存储器装置203a至203e以及204a至204e可沿着RCD 690与第二边缘部分605之间的多个行布置。半导体存储器装置201a至201e以及202a至202e的一部分可以是ECC存储器装置。ECC存储器装置可执行ECC编码操作,以生成关于将被写入多个半导体存储器装置201a至201e、202a至202e、203a至203e和204a至204e的存储器单元处的数据的奇偶校验位,以及执行ECC解码操作以校正可能存在于从存储器单元读取的数据中的错误。
多个半导体存储器装置201a至201e、202a至202e、203a至203e以及204a至204e中的每个可通过用于接收/发送第一主数据MD1的数据传输线连接到数据缓冲器641至645以及651至655中的相应一个。
多个半导体存储器装置201a至201e、202a至202e、203a至203e和204a至204e中的每个可采用图5的半导体存储器装置200。因此,多个半导体存储器装置201a至201e、202a至202e、203a至203e以及204a至204e中的每个包括存储器单元阵列、控制逻辑电路和裸片上ECC引擎。裸片上ECC引擎可包括第一数据扰码器和第二数据扰码器。
RCD 690可通过命令/地址传输线661将命令/地址信号(例如,CA)提供给半导体存储器装置201a至201e,并且可通过命令/地址传输线663将命令/地址信号提供给半导体存储器装置202a到202e。另外,RCD 690可通过命令/地址传输线671将命令/地址信号提供给半导体存储器装置203a至203e,并且可通过命令/地址传输线673将命令/地址信号提供给半导体存储器装置204a至204e。
命令/地址传输线661和663可共同连接到与第一边缘部分603邻近的模块电阻单元660,并且命令/地址传输线671和673可共同连接到与第二边缘部分605邻近的模块电阻单元670。模块电阻单元660和670中的每个可包括连接到端接电压Vtt的端接电阻器Rtt/2。在这种情况下,模块电阻单元660和670的布置可减少模块电阻单元的数量,从而减小设置端接电阻器的面积。
SPD芯片680可与RCD 690邻近,并且PMIC 685可设置在半导体存储器装置203e与第二边缘部分605之间。PMIC 685可基于输入电压VIN生成电源电压VDD,并且可将电源电压VDD提供给半导体存储器装置201a至201e、202a至202e、203a至203e以及204a至204e。
RCD 690可在存储器控制器100(参见图3)的控制下控制半导体存储器装置201a至201e、202a至202e、203a至203e、204a至204e以及PMIC 685。RCD 690可从存储器控制器100(参见图3)接收地址ADDR、命令CMD和时钟信号CK。
SPD芯片680可以是可编程只读存储器(例如,EEPROM)。SPD芯片680可包括存储器模块600的装置信息DI。在示例实施例中,SPD芯片680可包括装置信息DI,装置信息DI可包括与例如存储器模块600的模块形式、模块配置、存储容量、模块类型、执行环境等有关的信息。
当包括存储器模块600的存储器系统被启动时,主机可从SPD芯片680读取装置信息DI,并且可基于装置信息DI来识别存储器模块600。主机可基于来自SPD芯片680的装置信息DI来控制存储器模块600。例如,主机可基于来自SPD芯片680的装置信息DI,识别包括在存储器模块600中的半导体存储器装置201a至201e、202a至202e、203a至203e以及204a至204e的类型。
在示例实施例中,SPD芯片680可通过串行总线与主机通信。例如,主机可通过串行总线与SPD芯片680交换信号。SPD芯片680还可通过串行总线与RCD 690通信。
图25是示出根据示例实施例的示例半导体存储器装置800的至少一部分的框图。
参照图25,半导体存储器装置800可包括至少一个缓冲器裸片810和多个存储器裸片820-1至820-p,多个存储器裸片820-1至820-p在堆叠芯片结构中提供软错误分析和校正功能。这里,p是大于3的整数。将理解,发明构思的实施例不限于半导体存储器装置800中的存储器裸片中的任何特定数量。
多个存储器裸片820-1至820-p可堆叠在至少一个缓冲器裸片810上,并且通过多个硅通孔(TSV,又称为贯穿硅过孔)线传送数据。
存储器裸片820-1至820-p中的每个可包括单元核821、单元核ECC引擎824和控制逻辑电路(CLC)823,单元核821包括多个存储器单元,单元核ECC引擎824基于将被发送到至少一个缓冲器裸片810的传输数据生成传输奇偶校验数据。单元核ECC引擎824可采用图7的裸片上ECC引擎400。控制逻辑电路823可包括其中设置有随机二进制码的模式寄存器。
至少一个缓冲器裸片810可包括过孔ECC引擎812,过孔ECC引擎812可被配置为:当从通过TSV线接收的传输数据中检测到传输错误时,使用传输奇偶校验数据来校正传输错误,并且生成纠错后的数据。
半导体存储器装置800可以是通过TSV线传送数据和控制信号的堆叠芯片型存储器装置或堆叠存储器装置。TSV线也可称为“贯穿电极”。
可形成在一个存储器裸片820-p处的数据TSV线群组832可包括TSV线L1、L2至Lp,并且奇偶校验TSV线群组834可包括TSV线L10至Lq。
数据TSV线组832的TSV线L1、L2至Lp和奇偶校验TSV线组834的奇偶校验TSV线L10至Lq可连接到对应地形成在存储器裸片820-1至820-p之间的微凸块MCB。
存储器裸片820-1至820-p中的每个可包括DRAM单元,每个DRAM单元包括至少一个存取晶体管和一个存储电容器。
半导体存储器装置800可具有三维(3D)芯片结构或2.5D芯片结构,以通过数据总线B10与外部存储器控制器通信。至少一个缓冲器裸片810可通过数据总线B10与存储器控制器连接。
过孔ECC引擎812可被配置为:基于通过奇偶校验TSV线组834接收的传输奇偶校验数据,确定在通过数据TSV线组832接收的传输数据处是否发生传输错误。当检测到传输错误时,过孔ECC引擎812可使用传输奇偶校验数据来校正传输数据上的传输错误。当传输错误不可校正时,过孔ECC引擎812可输出指示“发生不可校正的数据错误”的信息(例如,错误标志或其他通知)。
图26是示出根据示例实施例的包括堆叠的存储器装置的示例半导体封装件900的至少一部分的示图。
参照图26,半导体封装件900可包括一个或多个堆叠的存储器装置910和图形处理器(GPU)920。GPU 920可包括存储器控制器(CONT)925。
堆叠的存储器装置910和GPU 920可安装在中间层930上,并且其上安装有堆叠的存储器装置910和GPU 920的中间层可安装在封装基底940上。封装基底940可安装在焊球950上。存储器控制器925可采用图1中示出的说明性存储器控制器100。
每个堆叠的存储器装置910可以以各种形式实现,并且可以是其中堆叠多个层的高带宽存储器(HBM)形式的存储器装置。因此,每个堆叠的存储器装置910可包括至少一个缓冲器裸片和多个存储器裸片。每个存储器裸片可包括存储器单元阵列、裸片上ECC引擎和控制逻辑电路。
多个堆叠的存储器装置910可安装在中间层930上,并且GPU 920可与多个堆叠的存储器装置910通信。例如,堆叠的存储器装置910和GPU 920中的每个可包括物理区域,并且通信可通过物理区域在堆叠的存储器装置910与GPU 920之间被执行。
如上所述,根据示例实施例,半导体存储器装置可与通过对从存储器单元阵列读取的第二主数据执行ECC解码来生成校验子并行地,通过利用随机二进制码对第二主数据进行加扰来生成第一主数据,并且可基于校验子校正第一主数据中的至少一个错误位。因为在一个或多个实施例中,半导体存储器装置在执行ECC解码之后不执行数据加扰,所以数据加扰不需要额外的时间。因此,半导体存储器装置可减少与读取操作相关联的时延,同时减少在固定数据模式被重复时出现的模式噪声,并且还可减小与数据加扰相关联的逻辑电路的大小。
本公开的方面可应用于使用半导体存储器装置的系统,该半导体存储器装置采用裸片上ECC引擎和多个易失性存储器单元。例如,本公开的方面可应用于使用半导体存储器装置作为工作存储器的系统(诸如,智能电话、导航系统、笔记本计算机、台式计算机和游戏机)。
在此使用的术语仅用于描述特定实施例的目的,并不旨在限制发明。如在此所使用的,除非上下文另外清楚地指示,否则单数形式旨在也包括复数形式。还将理解,当在本说明书中使用时,术语“包括”说明存在陈述的特征、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、步骤、操作、元件、组件和/或它们的组。空间描述性术语(诸如,“在……上方”、“在……下方”、“上部”和“下部”)可在此用于指示附图中所示的元件、结构或特征相对于彼此的位置,而不是绝对定位。因此,半导体装置可以以其它方式(例如,旋转90度或处于其它定向)定位,并且在此使用的空间相对描述性可被相应地解释。
还将理解,当元件(诸如,层、区域或基底)被称为“在”另一元件“顶上”、“上面”、“上”或“上方”时,旨在广泛地表示该元件与另一元件直接接触,或者也可存在中间元件。相反,当元件被称为“直接在另一元件上”或“直接在另一元件上方”时,旨在表示不存在中间元件。同样,应当理解,当元件被称为“连接”或“结合”到另一元件时,它可直接连接或结合到另一元件,或者可存在中间元件。相反,当元件被称为“直接连接”或“直接结合”到另一元件时,不存在中间元件。
前述内容是示例实施例的说明,并且不应被解释为对示例实施例进行限制。尽管已经描述了若干个示例实施例,但是本领域技术人员将容易理解,在实质上不脱离本公开的新颖教导和优点的情况下,在示例实施例中可进行许多修改。因此,所有这些修改旨在包括在如权利要求中限定的本公开的范围内。
Claims (20)
1.一种半导体存储器装置,包括:
存储器单元阵列,包括连接到多条字线和多条位线的多个存储器单元;
裸片上纠错码ECC引擎;以及
控制逻辑电路,被配置为控制裸片上ECC引擎,
其中,在写入操作期间,裸片上ECC引擎被配置为:
通过利用从控制逻辑电路接收的随机二进制码对从外部装置接收的第一主数据进行编码来生成第二主数据;
对第二主数据执行ECC编码以生成奇偶校验数据;以及
将第二主数据和奇偶校验数据存储在存储器单元阵列中的目标页中,并且
其中,在读取操作期间,裸片上ECC引擎被配置为:
从目标页读取第二主数据和奇偶校验数据;
与通过利用随机二进制码对第二主数据进行编码来生成第一主数据并行地,基于奇偶校验数据对第二主数据执行ECC解码以生成校验子;以及
当第一主数据中存在至少一个错误位时,至少部分地基于校验子来校正第一主数据中的所述至少一个错误位。
2.根据权利要求1所述的半导体存储器装置,其中,
第一主数据包括多个第一子数据单元;
随机二进制码包括多个码位,所述多个码位的数量与所述多个第一子数据单元的数量对应;并且
裸片上ECC引擎被配置为:通过利用所述多个码位中的相应码位对所述多个第一子数据单元中的每个的数据位进行编码来生成第二主数据。
3.根据权利要求2所述的半导体存储器装置,其中,裸片上ECC引擎被配置为:通过并行地利用所述多个码位中的相应码位对所述多个第一子数据单元中的每个的数据位执行异或运算来生成第二主数据。
4.根据权利要求1所述的半导体存储器装置,其中,
第二主数据包括多个第二子数据单元;
随机二进制码包括多个码位,所述多个码位的数量与所述多个第二子数据单元的数量对应;并且
裸片上ECC引擎被配置为:通过利用所述多个码位中的相应码位对所述多个第二子数据单元中的每个的数据位进行编码来生成第一主数据。
5.根据权利要求4所述的半导体存储器装置,其中,裸片上ECC引擎被配置为:通过并行地利用所述多个码位中的相应码位对所述多个第二子数据单元中的每个的数据位执行异或运算来生成第一主数据。
6.根据权利要求1所述的半导体存储器装置,其中,
第一主数据包括多个第一子数据单元;
第二主数据包括多个第二子数据单元;并且
裸片上ECC引擎包括:
第一数据扰码器,被配置为:在写入操作期间通过利用随机二进制码对第一主数据进行编码来生成第二主数据;
写入先入先出寄存器,被配置为:顺序地存储所述多个第二子数据单元;
第二数据扰码器,被配置为:在读取操作期间通过用随机二进制码对第二主数据进行编码来生成第一主数据;
读取先入先出寄存器,被配置为:顺序地存储从第二数据扰码器提供的所述多个第一子数据单元;
编码/解码逻辑,被配置为在写入操作期间通过对第二主数据执行ECC编码来生成奇偶校验数据,并且被配置为在读取操作期间通过对第二主数据和奇偶校验数据执行ECC解码来生成校验子;以及
数据校正器,被配置为:当第一主数据中存在所述至少一个错误位时,通过基于校验子校正第一主数据中的所述至少一个错误位来输出校正后的主数据。
7.根据权利要求6所述的半导体存储器装置,其中,编码/解码逻辑包括:
校验位生成器,被配置为基于第二主数据生成校验位;以及
校验子生成器,被配置为:基于校验位中的每个是否与奇偶校验数据的相应位匹配来生成校验子。
8.根据权利要求6所述的半导体存储器装置,其中,数据校正器包括:
校验子解码器,被配置为通过对校验子进行解码来生成解码信号;以及
位反相器,被配置为:基于解码信号选择性地使第一主数据的多个数据位中的至少一个数据位反相。
9.根据权利要求6所述的半导体存储器装置,其中,裸片上ECC引擎还包括:
复用器,被配置为:响应于选择信号,在写入操作期间向编码/解码逻辑提供从第一数据扰码器输出的第二主数据,并且在读取操作期间向编码/解码逻辑提供从目标页读取的第二主数据。
10.根据权利要求6所述的半导体存储器装置,其中,随机二进制码包括多个码位,所述多个码位的数量与所述多个第一子数据单元的数量对应,并且
其中,第一数据扰码器包括:
多个异或门,被配置为:通过对所述多个第一子数据单元中的每个的数据位和所述多个码位中的相应码位执行异或运算,生成所述多个第二子数据单元中的每个的数据位。
11.根据权利要求6所述的半导体存储器装置,其中,随机二进制码包括多个码位,所述多个码位的数量与所述多个第二子数据单元的数量对应,并且
其中,第二数据扰码器包括:
多个异或门,被配置为:通过对所述多个第二子数据单元中的每个的数据位和所述多个码位中的相应码位执行异或运算,生成所述多个第一子数据单元中的每个的数据位。
12.根据权利要求1至权利要求11中的任意一项所述的半导体存储器装置,包括:
至少一个缓冲器裸片;以及
多个存储器裸片,所述多个存储器裸片的至少一个子集堆叠在所述至少一个缓冲器裸片上并且被配置为通过多条硅通孔线传送数据,并且
其中,所述多个存储器裸片中的至少一个包括存储器单元阵列、控制逻辑电路和裸片上ECC引擎。
13.根据权利要求1至权利要求11中的任意一项所述的半导体存储器装置,其中,控制逻辑电路包括:模式寄存器,其中,随机二进制码响应于来自外部装置的命令而被设置在模式寄存器中。
14.根据权利要求1至权利要求11中的任意一项所述的半导体存储器装置,其中,第一主数据与外部装置通过对原始主数据进行编码而生成的数据对应。
15.根据权利要求1至权利要求11中的任意一项所述的半导体存储器装置,其中,
第一主数据包括多个第一子数据单元;
第二主数据包括多个第二子数据单元;
存储器单元阵列包括沿着第一方向和第二方向布置的多个子阵列块,第二方向与第一方向交叉;
所述半导体存储器装置还包括:输入/输出门控电路,连接在存储器单元阵列与裸片上ECC引擎之间;并且
控制逻辑电路被配置为:控制输入/输出门控电路,使得所述多个第二子数据单元中的每个被存储在所述多个子阵列块之中的同一子阵列块中。
16.一种半导体存储器装置,包括:
存储器单元阵列,包括连接到多条字线和多条位线的多个存储器单元;
裸片上纠错码ECC引擎,包括第一锁存器和第二锁存器;以及
控制逻辑电路,被配置为控制裸片上ECC引擎,
其中,在写入操作期间,裸片上ECC引擎被配置为:
通过利用从控制逻辑电路接收的随机二进制码对从外部装置接收的主数据进行编码来生成加扰后的主数据;
对加扰后的主数据执行ECC编码以生成奇偶校验数据;以及
将加扰后的主数据和奇偶校验数据存储在存储器单元阵列中的目标页中,并且
其中,在读取操作期间,裸片上ECC引擎被配置为:
从目标页读取加扰后的主数据和奇偶校验数据;
与通过利用随机二进制码对加扰后的主数据进行编码来生成主数据并行地,至少部分地基于奇偶校验数据对加扰后的主数据执行ECC解码以生成校验子;以及
当主数据中存在至少一个错误位时,基于校验子来校正主数据中的所述至少一个错误位。
17.根据权利要求16所述的半导体存储器装置,其中,
随机二进制码包括多个码位;
主数据包括多个第一子数据单元;
加扰后的主数据包括多个第二子数据单元;并且
裸片上ECC引擎包括:
第一数据扰码器,被配置为:通过利用所述多个码位中的相应码位对所述多个第一子数据单元中的每个的数据位进行编码来生成加扰后的主数据;以及
第二数据扰码器,被配置为:通过利用所述多个码位中的相应码位对所述多个第二子数据单元中的每个的数据位进行编码来生成主数据。
18.根据权利要求17所述的半导体存储器装置,其中,
第一数据扰码器被配置为:通过并行地利用所述多个码位中的相应码位对所述多个第一子数据单元中的每个的数据位执行异或运算来生成加扰后的主数据;以及
第二数据扰码器被配置为:通过并行地对多个第二子数据单元中的每个第二子数据单元的数据位与多个码位中的相应码位执行异或运算来生成主数据。
19.一种操作半导体存储器装置的方法,所述半导体存储器装置包括存储器单元阵列和裸片上纠错码ECC引擎,存储器单元阵列包括连接到多条字线和多条位线的多个存储器单元,所述方法包括:
由裸片上ECC引擎通过利用随机二进制码对第一主数据进行编码来生成第二主数据;
将第二主数据和奇偶校验数据存储在存储器单元阵列中的目标页中,奇偶校验数据至少部分地基于第一主数据被生成;
与通过利用随机二进制码对第二主数据进行编码来生成第一主数据并行地,由裸片上ECC引擎至少部分地基于从目标页读取的奇偶校验数据对从目标页读取的第二主数据进行解码以生成校验子;以及
当第一主数据中存在至少一个错误位时,由裸片上ECC引擎至少部分地基于校验子来校正第一主数据中的所述至少一个错误位。
20.根据权利要求19所述的方法,其中,
第一主数据包括多个第一子数据单元;
第二主数据包括多个第二子数据单元;并且
随机二进制码被设置在控制逻辑电路中包括的模式寄存器中,控制逻辑电路被配置为控制裸片上ECC引擎。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220144414A KR20240062654A (ko) | 2022-11-02 | 2022-11-02 | 반도체 메모리 장치 및 반도체 메모리 장치의 동작 방법 |
KR10-2022-0144414 | 2022-11-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117995257A true CN117995257A (zh) | 2024-05-07 |
Family
ID=90833213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311094693.0A Pending CN117995257A (zh) | 2022-11-02 | 2023-08-29 | 半导体存储器装置和操作半导体存储器装置的方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240146335A1 (zh) |
KR (1) | KR20240062654A (zh) |
CN (1) | CN117995257A (zh) |
-
2022
- 2022-11-02 KR KR1020220144414A patent/KR20240062654A/ko unknown
-
2023
- 2023-06-16 US US18/336,285 patent/US20240146335A1/en active Pending
- 2023-08-29 CN CN202311094693.0A patent/CN117995257A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240146335A1 (en) | 2024-05-02 |
KR20240062654A (ko) | 2024-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216339B2 (en) | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices | |
CN110120243B (zh) | 半导体存储器装置、操作其的方法以及存储器系统 | |
US11385960B2 (en) | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices | |
CN109785894B (zh) | 半导体存储器装置、存储器系统和操作方法 | |
US10846169B2 (en) | Semiconductor memory devices, memory systems and methods of operating semiconductor memory devices | |
CN110377453B (zh) | 半导体存储器装置和包括半导体存储器装置的存储器系统 | |
US11416335B2 (en) | Semiconductor memory devices and memory systems with enhanced error detection and correction | |
US11106535B2 (en) | Error correction circuit of semiconductor memory device and semiconductor memory device | |
US10922171B2 (en) | Error correction code circuits, semiconductor memory devices and memory systems | |
US10867690B2 (en) | Memory modules and methods of operating memory systems including the same | |
US11436079B2 (en) | Semiconductor memory devices having enhanced error correction circuits therein | |
US11762736B2 (en) | Semiconductor memory devices | |
CN112749040A (zh) | 存储器控制器以及包括该存储器控制器的存储器系统 | |
US11860734B2 (en) | Semiconductor memory devices and memory systems | |
US11947810B2 (en) | Semiconductor memory device and memory system including the same | |
CN117995257A (zh) | 半导体存储器装置和操作半导体存储器装置的方法 | |
US20240370335A1 (en) | Semiconductor memory devices | |
US20240029808A1 (en) | Semiconductor memory devices and memory systems including the same | |
US20230121163A1 (en) | Routing Assignments Based on Error Correction Capabilities | |
CN117437966A (zh) | 半导体存储器装置和包括半导体存储器装置的存储器系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |