CN116266472A - Memory device cross matrix parity check - Google Patents

Memory device cross matrix parity check Download PDF

Info

Publication number
CN116266472A
CN116266472A CN202211582945.XA CN202211582945A CN116266472A CN 116266472 A CN116266472 A CN 116266472A CN 202211582945 A CN202211582945 A CN 202211582945A CN 116266472 A CN116266472 A CN 116266472A
Authority
CN
China
Prior art keywords
data
parity
memory
array
parity data
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
Application number
CN202211582945.XA
Other languages
Chinese (zh)
Inventor
C·J·比布
K·K·姆奇尔拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN116266472A publication Critical patent/CN116266472A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic 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/1515Reed-Solomon codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/29Coding, 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/2906Coding, 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/2909Product codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

The present disclosure describes methods, devices, and systems related to cross matrix parity check in memory devices. In an example, a first plurality of parity data sets, each protecting data stored in a row of memory cells of an array, to memory cells in the array may be written to the array. Further, a second plurality of sets of parity data, each protecting data stored in a column of memory cells of the array, to memory cells in the array may be written to the array. The first plurality of parity data sets and the second plurality of parity data sets may be sent to a processor for further ECC processing. Error correction data indicating a cluster of data containing a threshold number of errors may be received from a processor. Error correction may be performed on the data clusters.

Description

存储器装置交叉矩阵奇偶校验Memory device cross matrix parity check

技术领域technical field

本公开大体来说涉及存储器装置交叉矩阵奇偶校验。The present disclosure generally relates to memory device interleaving matrix parity checking.

背景技术Background technique

存储器装置通常经提供作为计算机或其它电子装置中的内部半导体集成电路。存在许多不同类型的存储器,包含易失性及非易失性存储器。易失性存储器可需要电力来维持其数据且包含随机存取存储器(RAM)、DRAM及同步动态随机存取存储器(SDRAM)以及其它存储器。非易失性存储器可通过在未供电时留存所存储数据而提供永久数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻式随机存取存储器(RRAM)及磁阻式随机存取存储器(MRAM)以及其它存储器。Memory devices are often provided as internal semiconductor integrated circuits in computers or other electronic devices. There are many different types of memory, including volatile and non-volatile memory. Volatile memory can require power to maintain its data and includes Random Access Memory (RAM), DRAM and Synchronous Dynamic Random Access Memory (SDRAM), among others. Non-volatile memory provides permanent data by retaining stored data when power is not supplied and can include NAND flash memory, NOR flash memory, read-only memory (ROM), electrically erasable programmable ROM (EEPROM) , Erasable Programmable ROM (EPROM) and resistance variable memory, such as phase change random access memory (PCRAM), resistive random access memory (RRAM) and magnetoresistive random access memory (MRAM) and other memories .

存储器也用作易失性及非易失性数据存储装置而用于宽广范围的电子应用。举例来说,非易失性存储器可用于个人计算机、便携式存储条、数码相机、蜂窝式电话、例如MP3播放器等便携式音乐播放器、电影播放器及其它电子装置中。存储器单元可布置成若干阵列,其中所述阵列用于存储器装置中。Memory is also used as volatile and non-volatile data storage devices in a wide range of electronic applications. For example, non-volatile memory can be used in personal computers, portable memory sticks, digital cameras, cellular telephones, portable music players such as MP3 players, movie players, and other electronic devices. Memory cells can be arranged in arrays, where the arrays are used in a memory device.

存储器可成为用于计算装置中的存储器模块(例如,双列直插式存储器模块(DIMM))的一部分。例如,存储器模块可包含易失性存储器,例如DRAM,及/或例如,非易失性存储器,例如快闪存储器或RRAM。DIMM可用作计算系统中的主存储器。The memory may be part of a memory module, such as a dual inline memory module (DIMM), used in a computing device. For example, a memory module may include volatile memory, such as DRAM, and/or non-volatile memory, such as Flash memory or RRAM, for example. DIMMs can be used as main memory in computing systems.

发明内容Contents of the invention

本公开的方面是针对一种使用交叉矩阵奇偶校验的存储器装置,其包括:存储器胞元阵列(130、219);控制电路系统(140),其耦合到所述阵列,其中所述控制电路系统经配置以:将第一多个奇偶校验数据集写入到所述阵列中的存储器胞元(203),所述第一多个奇偶校验数据集各自保护存储在所述阵列的存储器胞元行中的数据;将第二多个奇偶校验数据集写入到所述阵列中的存储器胞元,所述第二多个奇偶校验数据集各自保护存储在所述阵列的存储器胞元列中的数据;将所述第一多个奇偶校验集及所述第二多个奇偶校验集发送到处理器;基于所述第一多个奇偶校验集及所述第二多个奇偶校验集接收来自所述处理器的纠错资料,其中所述纠错数据指示数据群集,所述数据群集包含阈值错误数量;及对所述数据群集执行纠错操作。Aspects of the present disclosure are directed to a memory device using interleaved matrix parity, comprising: an array (130, 219) of memory cells; control circuitry (140) coupled to the array, wherein the control circuitry The system is configured to: write a first plurality of parity data sets to memory cells in the array (203), the first plurality of parity data sets each protecting memory stored in the array data in a row of cells; writing a second plurality of parity data sets to memory cells in the array, each of the second plurality of parity data sets protecting a memory cell stored in the array data in a meta column; sending the first plurality of parity sets and the second plurality of parity sets to a processor; based on the first plurality of parity sets and the second plurality receiving error correction data from the processor, wherein the error correction data is indicative of a data cluster containing a threshold number of errors; and performing an error correction operation on the data cluster.

本公开的另一方面是针对一种将存储器装置用于交叉矩阵奇偶校验的方法,其包括:将:第一奇偶校验数据集写入到存储器胞元的耦合到阵列的存取线(204)的第一部分,以保护存储器胞元的耦合到所述存取线的第二部分中的数据;及第二奇偶校验数据集写入到存储器胞元的耦合到所述阵列的感测线(205)的第一部分,以保护存储器胞元的耦合到所述感测线的第二部分中的数据,其中从处理器接收所述第二奇偶校验数据集;将所述第一奇偶校验数据集及所述第二奇偶校验数据集发送到所述处理器;接收用以基于所述第一奇偶校验数据集及所述第二奇偶校验数据集对所述阵列的存储器胞元中的数据群集执行纠错操作的指令;及对所述数据群集执行所述纠错操作。Another aspect of the present disclosure is directed to a method of using a memory device for interleaved matrix parity, comprising: writing: a first set of parity data to an access line of a memory cell coupled to an array ( 204) to protect data in a second portion of the memory cell coupled to the access line; and a second set of parity data written to the sensing of the memory cell coupled to the array A first portion of a line (205) to protect data of a memory cell coupled into a second portion of the sense line, wherein the second parity data set is received from a processor; the first parity sending a set of parity data and the second set of parity data to the processor; receiving for memory of the array based on the first set of parity data and the second set of parity data an instruction to perform an error correction operation on a cluster of data in a cell; and perform the error correction operation on the cluster of data.

本公开的又一方面是针对一种使用交叉矩阵奇偶校验的系统,其包括:处理器(102);及存储器装置(120),其耦合到所述处理器,所述存储器装置包括:存储器胞元阵列(130、219);及控制电路系统,其耦合到所述阵列,其中所述控制电路系统经配置以:将:第一多个奇偶校验数据集写入到存储器胞元的各自耦合到阵列的相应存取线(204)的第一部分,以保护存储器胞元的耦合到其相应存取线的相应第二部分中的数据;及第二多个奇偶校验数据集写入到存储器胞元的各自耦合到阵列的相应感测线(205)的第二部分,以保护存储器胞元的耦合到其相应感测线的相应第二部分中的数据;及将所述第一多个奇偶校验数据集及所述第二多个奇偶校验数据集发送到所述处理器;其中所述处理器经配置以:接收所述第一多个奇偶校验数据集及所述第二多个奇偶校验数据集;及产生用以对存储在存储器胞元的耦合到所述存取线中的存取线的部分中的数据群集执行纠错操作的指令;及将所述指令发送到所述存储器装置。Yet another aspect of the present disclosure is directed to a system using crossbar parity, comprising: a processor (102); and a memory device (120), coupled to the processor, the memory device comprising: a memory an array of cells (130, 219); and control circuitry coupled to the array, wherein the control circuitry is configured to: write: a first plurality of parity data sets to respective ones of the memory cells a first portion coupled to a corresponding access line (204) of the array to protect data in a corresponding second portion of the memory cells coupled to its corresponding access line; and a second plurality of parity data sets written to second portions of the memory cells each coupled to respective sense lines (205) of the array to protect data in respective second portions of the memory cells coupled to their respective sense lines; parity data sets and the second plurality of parity data sets are sent to the processor; wherein the processor is configured to: receive the first plurality of parity data sets and the second plurality of parity data sets two or more sets of parity data; and generating an instruction to perform an error correction operation on a data cluster stored in a portion of a memory cell coupled to one of the access lines; and sent to the memory device.

附图说明Description of drawings

图1是根据本公开的多个实施例的呈包含存储器系统的计算系统的形式的设备的框图。1 is a block diagram of an apparatus in the form of a computing system including a memory system, according to various embodiments of the present disclosure.

图2A说明根据本公开的多个实施例的存储器阵列的部分的示意图。Figure 2A illustrates a schematic diagram of a portion of a memory array according to various embodiments of the disclosure.

图2B说明根据本公开的多个实施例的用于交叉矩阵奇偶校验的存储器阵列的部分的示意图。2B illustrates a schematic diagram of a portion of a memory array for interleaved matrix parity checking, according to various embodiments of the present disclosure.

图2C说明根据本公开的多个实施例的用于交叉矩阵奇偶校验的存储器阵列的部分的示意图。2C illustrates a schematic diagram of a portion of a memory array for interleaved matrix parity, according to various embodiments of the disclosure.

图3是根据本公开的多个实施例的用于存储器装置中的交叉矩阵奇偶校验的方法的流程图。FIG. 3 is a flowchart of a method for cross matrix parity checking in a memory device according to various embodiments of the present disclosure.

具体实施方式Detailed ways

本公开涉及描述的与存储器装置交叉矩阵奇偶校验相关的方法、装置及系统。在实例中,可将到阵列中的存储器胞元的各自保护存储在所述阵列的存储器胞元行中的数据的第一多个奇偶校验数据集写入到所述阵列。此外,可将到所述阵列中的存储器胞元的各自保护存储在所述阵列的存储器胞元列中的数据的第二多个奇偶校验数据集写入到所述阵列。可将第一多个奇偶校验数据集及第二多个奇偶校验数据集发送到处理器或主机以进行进一步的ECC处理。可从指示包含阈值数量的错误的数据群集的处理器或主机接收纠错数据。可对所述数据群集执行纠错。The present disclosure relates to the described methods, devices and systems related to memory device interleaved matrix parity checking. In an example, a first plurality of parity data sets to memory cells in an array that each protect data stored in a row of memory cells of the array can be written to the array. Additionally, a second plurality of parity data sets to memory cells in the array each protecting data stored in a column of memory cells of the array may be written to the array. The first plurality of parity data sets and the second plurality of parity data sets may be sent to a processor or host for further ECC processing. Error correction data can be received from a processor or host indicating a cluster of data containing a threshold number of errors. Error correction may be performed on the data clusters.

存储器装置可为非易失性存储器装置。非易失性存储器装置的一个实例为“与非”(NAND)存储器装置(也被称为快闪存储器技术)。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。平面可分组成逻辑单元(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器胞元(“胞元”)组成。胞元为存储信息的电子电路。块在下文中是指用于存储数据的存储器装置的单元,且可包含一组存储器胞元、字线组、字线或单独存储器胞元。对于一些存储器装置,块(在下文中也被称为“存储器块”)为可擦除的最小区域。页无法单独擦除,且仅可擦除整个块。The memory device may be a non-volatile memory device. One example of a non-volatile memory device is a "NAND" (NAND) memory device (also known as flash memory technology). Other examples of non-volatile memory devices are described below in conjunction with FIG. 1 . Non-volatile memory devices are packages of one or more die. Each die may consist of one or more planes. Planes can be grouped into logical units (LUNs). For some types of non-volatile memory devices (eg, NAND devices), each plane consists of a set of physical blocks. Each block consists of a set of pages. Each page is made up of a set of memory cells ("cells"). A cell is an electronic circuit that stores information. A block refers hereinafter to the cells of a memory device used to store data, and may include a group of memory cells, a group of word lines, a word line, or individual memory cells. For some memory devices, a block (hereinafter also referred to as a "memory block") is the smallest area that can be erased. Pages cannot be erased individually, only entire blocks.

存储器装置中的每一个可包含一或多个存储器胞元阵列。取决于胞元类型,胞元可存储一或多个位的二进制信息,且具有与存储的位数目相关的各种逻辑状态。逻辑状态可由二进制值表示,例如“0”及“1”,或此类值的组合。存在各种类型的胞元,例如单层级胞元(SLC)、多层级胞元(MLC)、三层级胞元(TLC)及四层级胞元(QLC)。例如,SLC可存储一位信息并具有两种逻辑状态。Each of the memory devices may include one or more arrays of memory cells. Depending on the cell type, a cell can store one or more bits of binary information and have various logic states related to the number of bits stored. Logical states may be represented by binary values, such as "0" and "1," or combinations of such values. There are various types of cells such as single-level cells (SLC), multi-level cells (MLC), triple-level cells (TLC), and quad-level cells (QLC). For example, an SLC can store one bit of information and have two logic states.

一些NAND存储器装置采用浮栅架构,其中存储器存取是基于位线与字线之间的相对电压变化来控制的。NAND存储器装置的其它实例可采用替代栅极架构,其可包含使用字线布局,所述布局可允许基于用于构造字线的材料的性质将对应于数据值的电荷捕获在存储器胞元内。Some NAND memory devices employ a floating gate architecture in which memory access is controlled based on relative voltage changes between bit lines and word lines. Other examples of NAND memory devices may employ alternative gate architectures, which may include the use of a word line layout that may allow charge corresponding to a data value to be trapped within the memory cell based on the properties of the material used to construct the word line.

当存储器装置被存取高次数时,存储数据的存储器胞元可由于这些对特定存储器胞元行的重复存取而遇到失败(例如,耦合到存取线的单元)。由数据错误引起的这些间歇性失败可影响数据的读取,并可通过修复数据、读取及写入数据额外次数,变更与存储器胞元相关联的时间及/或电压,停用损坏的存储器胞元等来减少。存储器胞元行中的错误的数量可通过使用奇偶校验数据来确定,所述奇偶校验数据保护存储器胞元行(例如,与存取线相关联的水平奇偶校验数据)及存储器胞元列(例如,与感测线相关联的垂直奇偶校验数据)两者。通过这样做,遇到错误的存储器胞元行,或存储在那些包含错误的存储器胞元行中的数据可位于存储器装置内,因为交叉矩阵奇偶校验数据可帮助查明错误存储在存储器单元中的更目标的位置。When a memory device is accessed a high number of times, memory cells storing data may experience failure due to these repeated accesses to a particular row of memory cells (eg, cells coupled to an access line). These intermittent failures caused by data errors can affect the reading of data and can disable damaged memory by repairing data, reading and writing data additional times, and altering the timing and/or voltage associated with memory cells cells and so on to reduce. The number of errors in a memory cell row can be determined by using parity data that protects the memory cell row (e.g., horizontal parity data associated with an access line) and the memory cell row Both columns (eg, vertical parity data associated with sense lines). By doing so, the memory cell rows that encountered errors, or data stored in those memory cell rows containing errors, can be located within the memory device because the interleaved matrix parity data can help pinpoint errors stored in memory cells more targeted position.

另外,交叉矩阵奇偶校验数据可用于定位特定数据群集,数据群集为用于纠错的行的部分,从而避免需要对整个存储器胞元行进行纠错。此外,弱行,或具有特定错误阈值的行,可停用或传递用于写入以便改进存储器装置的性能。通过识别及跟踪存储器胞元中数据的垂直奇偶校验,可实现纠错微调的附加层。对水平及垂直奇偶校验数据的分析可通过主机执行,从而允许各种存储器装置与交叉矩阵奇偶设置校验一起使用,除了一些设置及/或软件改变以外不会变更或改变存储器装置。此外,对数据执行纠错可减少误位率(BER)并提高数据的可靠性。Additionally, the interleaved matrix parity data can be used to locate specific clusters of data that are part of a row for error correction, thereby avoiding the need for error correction on an entire row of memory cells. Furthermore, weak rows, or rows with a certain error threshold, can be disabled or passed on for writing in order to improve the performance of the memory device. An additional layer of error correction fine-tuning is achieved by identifying and tracking the vertical parity of the data in the memory cells. Analysis of the horizontal and vertical parity data can be performed by the host, allowing various memory devices to be used with cross-matrix parity settings without altering or changing the memory device other than some setting and/or software changes. In addition, performing error correction on the data reduces the bit error rate (BER) and increases the reliability of the data.

通过对存储具有阈值数量(或数目)个错误的数据的存储器胞元执行这些方法,存储在存储器胞元中的数据中的错误数量可维持低于无法再校正存储器的水平。例如,纠错方法及/或系统可限制于方法或系统可纠正的可纠正数据位及/或部分的数目。一旦存储器阵列或单个胞元行超过这些限制,存储器阵列可变得无法纠正。通过维持错误率低于阈值时,存储器阵列仍可纠正。By performing these methods on memory cells storing data with a threshold number (or number) of errors, the number of errors in the data stored in the memory cells can be maintained below a level at which the memory cannot be corrected anymore. For example, an error correction method and/or system may be limited in the number of correctable data bits and/or portions that the method or system can correct. Once a memory array or a single row of cells exceeds these limits, the memory array can become uncorrectable. The memory array remains correctable by maintaining the error rate below a threshold.

ECC操作可包含产生奇偶校验数据,例如,通过对存储在阵列的存储器胞元中的数据执行XOR及/或RAID操作。奇偶校验数据可存储在(例如,写入到)易失性及/或非易失性存储器装置中。在一些实例中,奇偶校验数据可嵌入在易失性存储器装置及/或非易失性存储器装置中的数据中。ECC operations may include generating parity data, for example, by performing XOR and/or RAID operations on data stored in memory cells of the array. Parity data may be stored (eg, written to) in volatile and/or non-volatile memory devices. In some examples, parity data may be embedded in data in volatile memory devices and/or non-volatile memory devices.

存储在易失性及/或非易失性存储器装置中的数据可使用奇偶校验数据重构。主机及/或存储器装置的控制器可从存储器装置接收(例如,读取)奇偶校验数据并响应于读取失败重构数据。读取失败可归因于存储器装置中的存储器损坏。Data stored in volatile and/or non-volatile memory devices can be reconstructed using parity data. The host and/or the memory device's controller can receive (eg, read) parity data from the memory device and reconstruct the data in response to a read failure. Read failures may be due to memory corruption in the memory device.

在本公开的以下具体实施方式中,参考形成本公开的一部分的所附图式,且图式中以说明的方式展示可如何实践本公开的多个实施例。充分详细地描述这些实施例以使得所属领域普通技术人员能够实践本公开的实施例,且应理解,可利用其它实施例且可在不背离本公开的范围的情况下做出过程、电及/或结构改变。如本文中所使用,指定符“M”、“N”、“X”及“Y”指示如此指定的多个特定特征可与本公开的多个实施例包含在一起。In the following Detailed Description of the Disclosure, reference is made to the accompanying drawings which form a part hereof, and which show by way of illustration how various embodiments of the disclosure may be practiced. These embodiments are described in sufficient detail to enable those of ordinary skill in the art to practice the disclosed embodiments, and it is to be understood that other embodiments may be utilized and that procedural, electrical, and/or or structural changes. As used herein, the designators "M," "N," "X," and "Y" indicate that the particular features so designated may be included with various embodiments of the present disclosure.

如本文中所使用,“多个”某物可指此类事物中的一或多个。例如,多个存储器单元可指一或多个存储器单元。另外,如本文中所使用,例如“M”、“P”及“J”的指定符(尤其关于图式中的元件符号)指示如此指定的多个特定特征可与本公开的多个实施例包含在一起。As used herein, a "plurality" of something may refer to one or more of such things. For example, a plurality of memory cells may refer to one or more memory cells. Additionally, as used herein, designators such as "M," "P," and "J," especially with respect to reference numerals in the drawings, indicate that the particular features so designated are compatible with various embodiments of the present disclosure. included together.

本文中的图遵循其中第一数字或前几个数字对应于图式的图编号且剩余数字识别图式中的元件或组件的编号惯例。不同图之间的类似元件或组件可通过使用类似数字来识别。如将了解,可添加、交换及/或消除本文中的各种实施例中所展示的元件以便提供本公开的多个额外实施例。另外,图中所提供的元件的比例及相对比例尺打算图解说明本公开的各种实施例且并非用于限制意义。The figures herein follow a numbering convention in which the first digit or digits correspond to the figure number of the drawing and the remaining digits identify an element or component in the drawing. Similar elements or components between different figures may be identified by the use of similar numerals. As will be appreciated, elements shown in the various embodiments herein may be added, exchanged, and/or eliminated in order to provide additional embodiments of the present disclosure. Additionally, the proportions and relative scales of elements provided in the figures are intended to illustrate various embodiments of the present disclosure and are not intended to be limiting.

图1为根据本公开的多个实施例的呈包含存储器装置120的计算系统100的形式的设备的框图。如本文中所用,存储器装置120、存储器阵列130及/或逻辑140(例如,控制逻辑),及/或读取/锁存电路系统150也可单独被视为“设备”。1 is a block diagram of an apparatus in the form of a computing system 100 including a memory device 120 according to various embodiments of the present disclosure. As used herein, memory device 120, memory array 130, and/or logic 140 (eg, control logic), and/or read/latch circuitry 150 may also be individually considered a "device."

系统100包含耦合(例如,连接)到存储器装置120的存储器控制器102,所述存储器装置包含存储器阵列130。存储器装置120的实例包含NAND装置。在多个实施例中,NAND装置包含由存储器装置120的纠错码(ECC)组件115执行的ECC能力。ECC组件115可包含纠错电路系统及/或组件以执行多个纠错。ECC引擎(未说明)可耦合到存储器阵列130,其在通过输出缓冲器从存储器阵列130读出数据时纠正错误。System 100 includes a memory controller 102 coupled (eg, connected) to a memory device 120 that includes a memory array 130 . Examples of memory device 120 include NAND devices. In various embodiments, the NAND device includes ECC capability performed by the error correction code (ECC) component 115 of the memory device 120 . ECC component 115 may include error correction circuitry and/or components to perform multiple error corrections. An ECC engine (not illustrated) may be coupled to memory array 130 that corrects errors when data is read from memory array 130 through output buffers.

存储器控制器102可耦合到主机102。主机102可为主机系统,例如个人膝上型计算机、桌上型计算机、数码相机、智能电话或存储器读卡器以及各种其它类型的主机。主机102可包含在存储器装置120外部的主机控制器主机控制器113可包含控制电路系统,例如,硬件、固件及/或软件。在一或多个实施例中,主机102可包含处理器,所述处理器为复杂指令集计算机(CISC)型处理器。在一或多个实施例中,主机控制器113可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)。主机102可包含系统主板及/或底板,且可包含多个处理资源(例如,一或多个处理器、微处理器或某一其它类型的控制电路系统)。Memory controller 102 may be coupled to host 102 . Host 102 may be a host system such as a personal laptop computer, desktop computer, digital camera, smart phone, or memory card reader, among various other types of hosts. Host 102 may include a host controller external to memory device 120. Host controller 113 may include control circuitry, eg, hardware, firmware, and/or software. In one or more embodiments, host 102 may include a processor, which is a Complex Instruction Set Computer (CISC) type processor. In one or more embodiments, host controller 113 may be an application specific integrated circuit (ASIC) coupled to a printed circuit board that includes the physical interface. Host 102 may include a system motherboard and/or backplane, and may include multiple processing resources (eg, one or more processors, microprocessors, or some other type of control circuitry).

主机102可包含ECC组件117,所述ECC组件用于执行ECC操作及/或处理奇偶校验数据以确定存储包含错误的数据的位置或胞元。ECC组件117可接收用于保护垂直及水平数据两者的奇偶校验数据,并使用此交叉矩阵奇偶校验方法来更有效地管理存储器装置120的存储器阵列130中的错误。The host 102 may include an ECC component 117 for performing ECC operations and/or processing parity data to determine locations or cells storing data containing errors. ECC component 117 can receive parity data used to protect both vertical and horizontal data and use this interleaved matrix parity method to more efficiently manage errors in memory array 130 of memory device 120 .

为清楚起见,系统100已经简化以着重于与本公开特定相关的特征。例如,存储器阵列130可为DRAM阵列、SRAM阵列、STT RAM阵列、PCRAM阵列、TRAM阵列、RRAM阵列、NAND快闪阵列及/或NOR快闪阵列。阵列130可包括布置成由存取线(其在本文中可称为字线或选择线)耦合的行以及由感测线耦合的列的存储器胞元。尽管图1中展示单个阵列130,但实施例不限于此。例如,存储器装置120可包含多个阵列130(例如,多个NAND胞元行或页)。存储器阵列130可包含朝向行末端的行奇偶校验部分145来存储行奇偶校验数据,如下文将结合图2A到2B进一步所描述。此外,存储器阵列130可包含朝向阵列的列(如说明)的底部的列奇偶校验部分147,以存储列奇偶校验数据,如下文将进一步描述。For clarity, system 100 has been simplified to focus on features of particular relevance to the present disclosure. For example, memory array 130 may be a DRAM array, SRAM array, STT RAM array, PCRAM array, TRAM array, RRAM array, NAND flash array, and/or NOR flash array. Array 130 may include memory cells arranged in rows coupled by access lines (which may be referred to herein as word lines or select lines) and columns coupled by sense lines. Although a single array 130 is shown in FIG. 1 , embodiments are not limited thereto. For example, memory device 120 may include multiple arrays 130 (eg, multiple rows or pages of NAND cells). Memory array 130 may include a row parity portion 145 toward the end of the row to store row parity data, as will be further described below in connection with FIGS. 2A-2B . Additionally, memory array 130 may include a column parity portion 147 toward the bottom of a column (as illustrated) of the array to store column parity data, as will be described further below.

存储器装置120可包含控制逻辑140,例如,硬件、固件及/或软件。在一或多个实施例中,控制逻辑140可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)。在一些实施例中,控制逻辑140可为例如DRAM存储器控制器或非易失性存储器高速(NVMe)控制器的媒体控制器。例如,控制逻辑140可经配置以对存储器装置130执行例如拷贝、写入、读取、纠错等操作。另外,控制器123可包含用以执行本文中所描述的各种操作的专用电路系统及/或指令。也就是说,在某些实施例中,控制逻辑140可包含电路系统及/或指令,所述指令可执行以存储包含特定数量(或数目)错误的一行存储器单元的地址(或位置)。在一些实施例中,纠错码(ECC)电路系统115及/或提供给控制逻辑140的指令可控制对具有特定数量错误的存储器胞元行执行修复操作。Memory device 120 may include control logic 140, eg, hardware, firmware, and/or software. In one or more embodiments, control logic 140 may be an application specific integrated circuit (ASIC) coupled to a printed circuit board that includes the physical interface. In some embodiments, control logic 140 may be a media controller such as a DRAM memory controller or a non-volatile memory express (NVMe) controller. For example, control logic 140 may be configured to perform operations on memory device 130 such as copying, writing, reading, error correction, and the like. Additionally, controller 123 may include dedicated circuitry and/or instructions to perform the various operations described herein. That is, in some embodiments, control logic 140 may include circuitry and/or instructions executable to store addresses (or locations) of a row of memory cells that contain a particular number (or numbers) of errors. In some embodiments, error correction code (ECC) circuitry 115 and/or instructions provided to control logic 140 may control performing repair operations on rows of memory cells that have a certain number of errors.

存储器阵列130可包含用于存储特定存储器胞元行或列的奇偶校验数据的额外行或行部分或寄存器(例如,“列奇偶校验”147或“行奇偶校验”145)。特定存储器胞元行可与对应于存储器胞元行的奇偶校验数据相关联。作为实例,ECC操作可被执行,并可指示奇偶校验值以保护胞元行。奇偶校验数据可被发送到主机102并响应于来自主机的消息以基于奇偶校验数据来执行修复操作,可存取所述特定行的地址,并可修复所述地址处的行中的存储器胞元中的数据。此外,可将待修复的行的特定地址添加到的用于执行修复操作的列表中。Memory array 130 may include additional row or row portions or registers (eg, "column parity" 147 or "row parity" 145) for storing parity data for a particular row or column of memory cells. A particular row of memory cells can be associated with parity data corresponding to the row of memory cells. As an example, an ECC operation may be performed and a parity value may be indicated to protect the row of cells. The parity data can be sent to the host 102 and in response to a message from the host to perform a repair operation based on the parity data, the address of that particular row can be accessed and the memory in the row at that address can be repaired data in the cell. Additionally, the specific address of the row to be repaired can be added to the list used to perform the repair operation.

存储器装置120包含地址电路系统142以通过I/O电路系统144锁存通过总线154(例如,数据总线)提供的地址信号。地址信号也可由存储器控制器102发送并接收到控制逻辑140(例如,经由地址电路系统142及/或经由总线154)。地址信号由行解码器146及列解码器152接收并进行解码,以存取存储器阵列130。通过使用读取/锁存电路系统150感测数据线上的电压及/或电流改变,可从存储器阵列130读取数据。读取/锁存电路系统150可从存储器阵列130读取及锁存数据页(例如,行)。I/O电路系统144可用于通过总线154与主机110进行双向数据通信。写入电路系统148用于将数据写入到存储器阵列130。控制逻辑140包含非易失性存储器(“NVM”)149,所述非易失性存储器可用于在存储器装置120的断电或电源重启的情况下存储来自易失性存储器的数据。虽然实例说明控制逻辑140内的非易失性存储器149,但实例不限于此。非易失性存储器149可位于存储器装置120内的其它地址中。在另一此类实例中,非易失性存储器149可存储在存储器阵列130的部分中。Memory device 120 includes address circuitry 142 to latch address signals provided over bus 154 (eg, a data bus) through I/O circuitry 144 . Address signals may also be sent by memory controller 102 and received by control logic 140 (eg, via address circuitry 142 and/or via bus 154). Address signals are received and decoded by row decoder 146 and column decoder 152 to access memory array 130 . Data may be read from memory array 130 by sensing voltage and/or current changes on the data lines using read/latch circuitry 150 . Read/latch circuitry 150 can read and latch pages (eg, rows) of data from memory array 130 . I/O circuitry 144 may be used for bi-directional data communication with host 110 via bus 154 . Write circuitry 148 is used to write data to memory array 130 . Control logic 140 includes non-volatile memory (“NVM”) 149 that may be used to store data from volatile memory in the event of a power outage or power cycle of memory device 120 . While the example illustrates non-volatile memory 149 within control logic 140, the example is not limited thereto. Non-volatile memory 149 may be located at other addresses within memory device 120 . In another such example, non-volatile memory 149 may be stored in portions of memory array 130 .

在一些实施例中,控制逻辑140解码通过总线154由存储器控制器102提供的信号。虽然总线154经说明为发送地址信号、双向通信、解码信号等的单个总线,实施例不限于此。例如,总线154可分成多于一个总线,其中每一总线被指定用于特定信号(例如,用于地址信号及/或命令的总线、用于双向通信的总线,等)。这些信号可包含用于控制对存储器阵列130执行的操作(包含数据读取、数据写入及数据擦除操作)的芯片使能信号、写入使能信号及地址锁存信号。在各种实施例中,逻辑140负责执行来自主机110的指令。逻辑140可为状态机、排序器或某一其它类型的控制电路系统。逻辑140可在硬件、固件及/或软件中实施。虽然逻辑140经说明为耦合到特定组件(例如,耦合到存储器阵列130及地址电路系统142),但控制器可耦合到存储器装置120内的组件中的任一个。In some embodiments, control logic 140 decodes signals provided by memory controller 102 over bus 154 . Although bus 154 is illustrated as a single bus for sending address signals, bi-directional communications, decoding signals, etc., embodiments are not so limited. For example, bus 154 may be divided into more than one bus, where each bus is designated for a particular signal (eg, a bus for address signals and/or commands, a bus for bi-directional communication, etc.). These signals may include chip enable signals, write enable signals, and address latch signals for controlling operations performed on memory array 130 , including data read, data write, and data erase operations. In various embodiments, logic 140 is responsible for executing instructions from host 110 . Logic 140 may be a state machine, a sequencer, or some other type of control circuitry. Logic 140 may be implemented in hardware, firmware, and/or software. Although logic 140 is illustrated as being coupled to particular components (eg, to memory array 130 and address circuitry 142 ), a controller may be coupled to any of the components within memory device 120 .

图2A说明根据本公开的多个实施例的存储器阵列219的部分的示意图。阵列219包含存储器胞元(通常被称为存储器胞元203,且更具体被称为203-0至203-J),所述存储器胞元耦合到多行存取线204-0、204-1、204-2、204-3、204-4、204-5、204-6、…、204-P(通常被称为存取线204)及多列感测线205-0、205-1、205-2、205-3、205-4、205-5、205-6、205-7、…、205-D(通常被称为感测线205)。耦合到存取线的每一胞元行被说明为用以指示沿着存取线204-0的第一胞元行的ROW 0 221-0,直到ROW P 221-P。此外,存储器阵列219不限于特定数目的存取线及/或感测线,且使用术语“行”及“列”并不意味着存取线及/或感测线的特定物理结构及/或定向。尽管未图示,在一些实例中,但每一存储器胞元列可与对应的一对互补感测线相关联。FIG. 2A illustrates a schematic diagram of a portion of a memory array 219 according to various embodiments of the disclosure. Array 219 includes memory cells (generally referred to as memory cells 203, and more specifically 203-0 through 203-J) coupled to rows of access lines 204-0, 204-1 , 204-2, 204-3, 204-4, 204-5, 204-6, . 205-2, 205-3, 205-4, 205-5, 205-6, 205-7, . . . , 205-D (commonly referred to as sensing lines 205). Each row of cells coupled to an access line is illustrated as ROW 0 221-0 through ROW P 221-P to indicate the first row of cells along access line 204-0. Furthermore, memory array 219 is not limited to a particular number of access and/or sense lines, and the use of the terms "row" and "column" does not imply a particular physical structure and/or orientation. Although not shown, in some examples, each column of memory cells can be associated with a corresponding pair of complementary sense lines.

每一存储器胞元列(例如列223-0到223-11)可耦合到感测电路系统,例如感测放大器。在此实例中,感测电路系统可包含耦合到相应感测线205-0、205-1、205-2、205-3、205-4、205-5、205-6、205-7、…,205-D的多个感测放大器(未说明)。感测放大器可经由存取装置(例如,晶体管,未说明)耦合到输入/输出(I/O)线路(例如,本地I/O线路,未说明)。Each column of memory cells (eg, columns 223-0 through 223-11) can be coupled to sense circuitry, such as a sense amplifier. In this example, the sensing circuitry may include sensors coupled to respective sense lines 205-0, 205-1, 205-2, 205-3, 205-4, 205-5, 205-6, 205-7, . . . , Multiple sense amplifiers (not illustrated) of 205-D. Sense amplifiers may be coupled to input/output (I/O) lines (eg, local I/O lines, not shown) via access devices (eg, transistors, not shown).

如将下文结合图2B进一步描述,耦合到存取线204-8、204-9、204-10及204-P的存储器胞元行“ROW P-3”221-8、“ROW P-2”221-9、“ROW P-1”221-10及“ROW P”221-P可用于存储多个奇偶校验数据,所述奇偶校验数据保护存储在存储器阵列219中的垂直数据。例如,存储在耦合到感测线205-0及存取线204-0到204-7的存储器胞元中的数据(例如,存储在第一胞元列223-0中的第一字节)可受存储在耦合到感测线205-0及耦合到存取线204-8到204-P的存储器胞元中所奇偶校验数据垂直保护(例如,四个垂直存储的奇偶校验位可保护8个垂直存储的数据位)。虽然在本实例中描述8位数据及4位奇偶校验,但其它实例不限于此。数据位的数量可超过8个位,如由ROW 7 221-7与ROWP-3 221-8之间的点所指示。As will be described further below in connection with FIG. 2B, memory cell rows "ROW P-3" 221-8, "ROW P-2" coupled to access lines 204-8, 204-9, 204-10, and 204-P 221-9, "ROW P-1" 221-10, and "ROW P" 221-P may be used to store a plurality of parity data that protects the vertical data stored in the memory array 219. For example, data stored in memory cells coupled to sense line 205-0 and access lines 204-0 through 204-7 (eg, the first byte stored in first cell column 223-0) can be vertically protected by parity data stored in memory cells coupled to sense line 205-0 and to access lines 204-8 through 204-P (e.g., four vertically stored parity bits can be protects 8 vertically stored data bits). Although 8 bits of data and 4 bits of parity are described in this example, other examples are not limited thereto. The number of data bits may exceed 8 bits, as indicated by the dot between ROW 7 221-7 and ROWP-3 221-8.

同样地,行奇偶校验位可存储在耦合到存取线204-0到204-7(在ROW 0 221-0到ROW 7 221-7中)的存储器胞元中,并耦合到感测线205-A、205-B、205-C、205-D。以此方式,沿着耦合到特定存取线204的胞元水平存储的数据可被保护。例如,存储在耦合到存取线204-0并耦合到感测线205-0到205-7的存储器胞元中的数据可通过存储在耦合到存取线204-0且耦合到感测线205-A、205-B、205-C及205-D的存储器胞元中的奇偶校验数据的保护(例如,存储在胞元行末端处的4个水平存储的奇偶校验位将保护存储在同一胞元行中的8个水平存储的数据位)。以此方式,垂直奇偶校验位及水平奇偶校验位可一起提供额外ECC保护。作为实例,存储在胞元203-0中的数据位可受两个垂直奇偶校验位及水平奇偶校验位保护。Likewise, row parity bits may be stored in memory cells coupled to access lines 204-0 through 204-7 (in ROW 0 221-0 through ROW 7 221-7), and to sense lines 205-A, 205-B, 205-C, 205-D. In this way, data stored along the cell level coupled to a particular access line 204 may be protected. For example, data stored in memory cells coupled to access line 204-0 and coupled to sense lines 205-0 through 205-7 may be stored in memory cells coupled to access line 204-0 and coupled to sense lines 205-0 through 205-7. Protection of parity data in memory cells of 205-A, 205-B, 205-C, and 205-D (e.g., 4 horizontally stored parity bits stored at the end of a row of cells will protect memory 8 horizontally stored data bits in the same cell row). In this way, the vertical parity bit and the horizontal parity bit together can provide additional ECC protection. As an example, the data bits stored in cell 203-0 may be protected by two vertical parity bits and a horizontal parity bit.

在一些实施例中,行奇偶校验位可由存储器装置确定且列奇偶校验位可由主机确定。以此方式,缺乏监控垂直数据奇偶校验的硬件能力的存储器装置仍可与本文中所描述的交叉矩阵奇偶校验方法一起使用。在一些实施例中,存储器装置可确定行奇偶校验数据及列奇偶校验数据两者,并将两个奇偶校验数据发送到主机进行处理及/或确定错误位于阵列的存储器胞元中的位置。In some embodiments, row parity can be determined by the memory device and column parity can be determined by the host. In this way, memory devices that lack the hardware capability to monitor vertical data parity can still be used with the interleaved matrix parity method described herein. In some embodiments, the memory device may determine both row parity data and column parity data and send both parity data to the host for processing and/or determining where the error is located in a memory cell of the array Location.

图2B说明根据本公开的多个实施例的用于交叉矩阵奇偶校验的存储器阵列219-2的部分的示意图。图2B为图2A的进一步说明,其中说明ROW 0 221-0到P 221-P及“COL0”223-0到“COL 11”223-11,未展示单个存储器胞元,以便于参考及解释。每一胞元221-0到221-7行存储数据(水平说明),例如“DATA 0”227-0到“DATA 7”227-7。水平存储的每一数据集受行奇偶校验数据保护。例如,“DATA 0”227-0受存储在“ROW 0”221-0及COLUMN“8”223-8到“11”223-11的胞元中的“R0 Parity”231-0水平保护。DATA 0 225-0到DATA 7 225-7行中的每一个受对应行奇偶校验数据R0 231-0到R7231-7保护。Figure 2B illustrates a schematic diagram of a portion of the memory array 219-2 for interleaved matrix parity checking, according to various embodiments of the present disclosure. 2B is a further illustration of FIG. 2A illustrating ROW 0 221-0 through P 221-P and "COL0" 223-0 through "COL 11" 223-11, with individual memory cells not shown for ease of reference and explanation. Each row of cells 221-0 to 221-7 stores data (horizontal description), such as "DATA 0" 227-0 to "DATA 7" 227-7. Each data set stored horizontally is protected by row parity data. For example, "DATA 0" 227-0 is protected by the "R0 Parity" 231-0 level stored in cells of "ROW 0" 221-0 and COLUMN "8" 223-8 through "11" 223-11. Each of the DATA 0 225-0 to DATA 7 225-7 rows is protected by a corresponding row parity data R0 231-0 to R7 231-7.

同样地,每一胞元223-0到223-7列存储数据(垂直说明),例如“COL 0”223-0中的数据225-0到“COL 7”223-7中的数据225-7。垂直存储的每一数据集受垂直奇偶校验数据保护。例如,“COL 0”223-0中的数据225-0受Column 0Group Parity(“C0 GP”)229-0垂直保护,存储在“COL 0”223-0及ROW“P-3”221-8到“P”221-P的胞元中。同样地,垂直数据分别受C0 GP 229-0到C7 GP 229-7中的每一个保护。Likewise, each cell 223-0 through 223-7 stores data (vertically illustrated), such as data 225-0 in "COL 0" 223-0 through data 225-7 in "COL 7" 223-7 . Each data set stored vertically is protected by vertical parity data. For example, the data 225-0 in "COL 0" 223-0 is vertically protected by Column 0Group Parity ("C0 GP") 229-0, stored in "COL 0" 223-0 and ROW "P-3" 221-8 into the cell of "P" 221-P. Likewise, vertical data is protected by each of C0 GP 229-0 to C7 GP 229-7, respectively.

使用多组水平奇偶校验数据(R0 Parity 231-0到R7 Parity 231-7)连同多组垂直奇偶校验数据(C0 GP 229-0到C7 GP 229-7)提供交叉矩阵奇偶校验,以更紧密地查明存储器胞元中错误的位置。另外,当达到或超过阈值位错误数目,单个水平奇偶校验值可无法提供足够的奇偶校验保护来恢复数据。通过添加在垂直奇偶校验值中,可纠正额外错误,所述额外错误原本可阻止胞元的数据被恢复。Cross matrix parity is provided using sets of horizontal parity data (R0 Parity 231-0 to R7 Parity 231-7) along with sets of vertical parity data (C0 GP 229-0 to C7 GP 229-7) to More closely pinpoint the location of errors in memory cells. Additionally, a single horizontal parity value may not provide sufficient parity protection to recover data when a threshold number of bit errors is reached or exceeded. By adding in the vertical parity value, additional errors that would otherwise prevent the cell's data from being recovered can be corrected.

虽然处理存储器装置(例如,图1中的存储器装置120)中的交叉矩阵奇偶校验值可为有益的,但处理交叉矩阵奇偶校验值可使用不同的存储器装置可互换防止,而不改变存储器装置控制器及其它内部硬件及/或固件元件。通过将列奇偶校验数据及/或交叉矩阵奇偶校验值的确定卸载到主机,可使用多个不同的存储器装置而不改变存储器控制器及其它元件。例如,改变存储器装置可使用更新的软件或固件,但主机可提供交叉矩阵奇偶校验的功能性。While processing interleaved matrix parity values in a memory device (eg, memory device 120 in FIG. 1 ) can be beneficial, processing interleaved matrix parity values can be prevented interchangeably using different memory devices without changing Memory device controllers and other internal hardware and/or firmware elements. By offloading the determination of column parity data and/or cross matrix parity values to the host, multiple different memory devices can be used without changing memory controllers and other elements. For example, changing the memory device may use newer software or firmware, but the host may provide the functionality of the interleaved matrix parity.

图2C说明根据本公开的多个实施例的用于交叉矩阵奇偶校验的存储器阵列219-3的部分的示意图。图2C为图2A到2B的进一步说明。此外,类似于图2B,说明ROW0 221-0到P221-P及“COL 0”223-0到“COL 11”223-11,未展示单个存储器胞元,以便于参考及解释。每一胞元221-0到221-7行存储数据(水平说明),例如“DATA0”227-0到“DATA 7”227-7。水平存储的每一数据集受行奇偶校验数据保护。例如,“DATA 0”227-0受存储在“ROW 0”221-0及COLUMN“8”223-8到“11”223-11的胞元中的“R0Parity”231-0水平保护。DATA 0 225-0到DATA 7 225-7行中的每一个受对应行奇偶校验数据R0 231-0到R7 231-7保护。Figure 2C illustrates a schematic diagram of a portion of the memory array 219-3 for interleaved matrix parity checking according to various embodiments of the present disclosure. Figure 2C is a further illustration of Figures 2A-2B. Furthermore, similar to FIG. 2B , illustrating ROW0 221 -0 through P 221 -P and "COL 0 " 223 - 0 through " COL 11 " 223 - 11 , individual memory cells are not shown for ease of reference and explanation. Each row of cells 221-0 to 221-7 stores data (horizontal description), such as "DATA0" 227-0 to "DATA 7" 227-7. Each data set stored horizontally is protected by row parity data. For example, "DATA 0" 227-0 is protected by the "ROParity" 231-0 level stored in cells of "ROW 0" 221-0 and COLUMN "8" 223-8 through "11" 223-11. Each of the DATA 0 225-0 through DATA 7 225-7 rows is protected by a corresponding row parity data R0 231-0 through R7 231-7.

如在图2C中所说明,特定存储器胞元位置指示为具有损坏数据(在图2C中标记为“D”)或处于弱(在图2C中标记为“W”)胞元行。作为实例,ROW 4 221-4以及COL 2223-2及COL3 223-3中的存储器胞元指示为损坏胞元。此外,ROW 2 221-2以及COL 6223-6及COL 7223-7中的存储器胞元指示为损坏胞元。另外,ROW 5 221-5的存储器胞元指示为在弱(“W”)胞元行中。行奇偶校验数据R2 Parity 231-2将反映COL 6及7中的所述行的损坏胞元,以及用于垂直奇偶校验的列奇偶校验数据C6 GP 229-6及C7 GP229-7。同样地,行奇偶校验数据R4 Parity 231-4将反映COL 2及3中的所述对应行的损坏胞元,以及列奇偶校验数据C2 GP229-2及C3 GP 229-3。As illustrated in Figure 2C, particular memory cell locations are indicated as having corrupt data (labeled "D" in Figure 2C) or being in a weak (labeled "W" in Figure 2C) row of cells. As an example, memory cells in ROW 4 221-4 and COL 2223-2 and COL3 223-3 are indicated as bad cells. Additionally, memory cells in ROW 2 221-2 and COL 6 223-6 and COL 7 223-7 are indicated as bad cells. Additionally, the memory cell of ROW 5 221-5 is indicated as being in a weak ("W") cell row. Row parity data R2 Parity 231-2 will reflect the damaged cells of that row in COL 6 and 7, and column parity data C6 GP 229-6 and C7 GP 229-7 for vertical parity. Likewise, the row parity data R4 Parity 231-4 will reflect the damaged cells of the corresponding rows in COL 2 and 3, and the column parity data C2 GP 229-2 and C3 GP 229-3.

以此方式,通过组合行奇偶校验数据及列奇偶校验数据进行的交叉矩阵奇偶校验可用于确定存储器胞元中用于执行纠错的更具体位置。在一个实例中,可对特定数据群集进行纠错,如在上文所提及的两个存储器胞元中。在一个实例中,当整行具有高于阈值的误差值时,可指示特定行进行纠错,指示胞元行在数据方面是弱行。弱行可被停用且不再使用,或如果进行纠错所需的纠错强度可用,可执行纠正行中的数据的进一步尝试。用于群集方法的纠错类型可包含里德-所罗门(Reed Solomon)纠错操作等,以及许多其它操作。In this way, interleaved matrix parity by combining row and column parity data can be used to determine a more specific location in a memory cell for performing error correction. In one example, error correction can be performed on a particular cluster of data, as in the two memory cells mentioned above. In one example, a particular row may be indicated for error correction when an entire row has an error value above a threshold, indicating that the row of cells is a weak row in terms of data. Weak rows can be disabled and no longer used, or further attempts to correct the data in the row can be performed if the required error correction strength is available for error correction. Types of error correction for clustering methods may include Reed Solomon error correction operations, among many others.

图3是根据本公开的实施例的用于存储器装置中的交叉矩阵奇偶校验的方法351的流程图。在此实例中,存储器装置为NAND装置。方法351可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑,微码,装置的硬件,集成电路等),软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法351由图1中的控制逻辑140结合存储器装置120中的ECC组件115及主机的ECC组件117执行。尽管以特定的顺序或次序展示,但除非另有所规定,否则可修改过程的次序。因此,所说明的实施例应仅理解为实例,且所说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一实施例中需要所有过程。其它过程流程是可能的。FIG. 3 is a flowchart of a method 351 for cross matrix parity checking in a memory device according to an embodiment of the disclosure. In this example, the memory device is a NAND device. Method 351 may be performed by processing logic that may comprise hardware (e.g., a processing device, circuitry, dedicated logic, programmable logic, microcode, hardware of a device, an integrated circuit, etc.), software (e.g., on a processing device instructions to run or execute), or a combination thereof. In some embodiments, the method 351 is performed by the control logic 140 in FIG. 1 in conjunction with the ECC component 115 in the memory device 120 and the ECC component 117 of the host. Although shown in a particular order or sequence, the order of the processes may be modified unless otherwise specified. Therefore, the illustrated embodiments should be understood as examples only, and illustrated processes may be performed in a different order, and some processes may be performed in parallel. Additionally, one or more procedures may be omitted in various embodiments. Therefore, not all procedures are required in every embodiment. Other process flows are possible.

在块353,方法351可包含将第一奇偶校验数据集写入到存储器胞元的耦合到阵列的存取线的第一部分,以保护存储器胞元的耦合到存取线的第二部分中的数据。第一部分存储器胞元可位于存储器阵列(例如图1中的存储器阵列130)中。作为实例,存储器胞元的耦合到存取线的第一部分可邻近存储器胞元的耦合到存取线的第二部分且在其之前,从而存储邻近于保护的奇偶校验数据的待水平保护(如图2A到2C中所说明)的数据。At block 353, the method 351 may include writing the first set of parity data to a first portion of the memory cell coupled to an access line of the array to protect a second portion of the memory cell coupled to the access line The data. The first portion of memory cells may be located in a memory array, such as memory array 130 in FIG. 1 . As an example, a first portion of a memory cell coupled to an access line may be adjacent to and before a second portion of the memory cell coupled to an access line, thereby storing adjacent to protected parity data to be horizontally protected ( data as illustrated in Figures 2A to 2C).

在块355,方法351可包含将第二奇偶校验数据集写入到存储器胞元的耦合到阵列的感测线的第一部分,以保护存储器胞元的耦合到感测线的第二部分中的数据。作为实例,存储器胞元的耦合到感测线的第一部分可邻近存储器胞元的第二部分且在其之前,从而存储邻近于保护的奇偶校验数据的待垂直保护(如在图2A到2C中所说明)的数据。At block 355, the method 351 may include writing a second set of parity data to a first portion of the memory cell coupled to the sense line of the array to protect a second portion of the memory cell coupled to the sense line The data. As an example, a first portion of a memory cell coupled to a sense line may be adjacent to and prior to a second portion of the memory cell, thereby storing adjacent to protected parity data to be vertically protected (as in FIGS. 2A-2C ). data as described in ).

在块357,方法351可包含将第一奇偶校验数据集及第二奇偶校验数据集发送到主机。主机可对第一奇偶校验数据集及第二奇偶校验数据集执行分析以确定哪些存储器胞元中的哪些数据执行纠错。主机可使用第一奇偶校验数据集来确定耦合到哪个特定存取线的哪个存储器胞元正存储待进行纠错的数据。主机可使用第二奇偶校验数据集来确定耦合到哪个特定感测线的哪个存储器胞元正存储待进行纠错的数据。At block 357, the method 351 may include sending the first set of parity data and the second set of parity data to the host. The host can perform analysis on the first set of parity data and the second set of parity data to determine which data in which memory cells to perform error correction on. The host can use the first set of parity data to determine which memory cell coupled to which particular access line is storing data to be error corrected. The host can use the second set of parity data to determine which memory cell coupled to which particular sense line is storing data to be error corrected.

基于对应于存取线中的每一个的奇偶校验数据,与存储器胞元的第一部分中的数据相关联的错误的数目可超过阈值错误数目。可确定存储器胞元的耦合到存取线的第一部分的数据超过阈值数目。基于对应于感测线中的每一个的奇偶校验数据,与存储器胞元的耦合到感测线的第一部分的数据相关联的错误的数目可超过阈值错误数目。可确定第一部分超过阈值数目。可通过使用第一奇偶校验数据集及第二奇偶校验数据集两者来判定特定胞元行的存储器胞元中的错误数目。Based on the parity data corresponding to each of the access lines, the number of errors associated with data in the first portion of the memory cells may exceed a threshold number of errors. It may be determined that data for a first portion of the memory cells coupled to the access line exceeds a threshold number. Based on the parity data corresponding to each of the sense lines, the number of errors associated with the data of the first portion of the memory cells coupled to the sense lines may exceed a threshold number of errors. It may be determined that the first portion exceeds a threshold number. The number of errors in memory cells of a particular cell row can be determined by using both the first set of parity data and the second set of parity data.

在块359,方法351可包含接收用以基于第一奇偶校验数据集及第二奇偶校验数据集对阵列的存储器胞元中的数据群集执行纠错操作的指令。指令可由存储器装置接收并由主机发送。可对对应于所存储行地址中的至少一个的存储器胞元执行纠错操作。纠错操作可包含纠正一定数量的错误。在一些实例中,纠错操作可包含变更与地址相关联的胞元的电压或变更与地址相关联的胞元的存取时间。At block 359, the method 351 may include receiving instructions to perform error correction operations on clusters of data in memory cells of the array based on the first set of parity data and the second set of parity data. Instructions can be received by the memory device and sent by the host. Error correction operations can be performed on memory cells corresponding to at least one of the stored row addresses. Error correcting operations may involve correcting a certain number of errors. In some examples, the error correction operation may include altering the voltage of the cell associated with the address or altering the access time of the cell associated with the address.

在块361,方法可包含对数据群集执行纠错操作。纠错操作可由存储器装置的ECC组件执行。例如,主机可发送指示哪个数据群集或存储器胞元行待纠正及/或停用(例如,不再使用)的指令。作为回应,存储器装置可纠正或停用存储在指示的存储器胞元行中的数据。At block 361, the method may include performing error correction operations on the data clusters. Error correction operations may be performed by the ECC component of the memory device. For example, the host may send instructions indicating which clusters of data or rows of memory cells are to be corrected and/or disabled (eg, no longer used). In response, the memory device may correct or disable the data stored in the indicated row of memory cells.

虽然本文中已说明及描述特定实施例,但所属领域普通技术人员将了解,旨在实现相同结果的布置可替代所展示的特定实施例。本发明意欲涵盖本公开的各种实施例的变更或变化形式。应理解,已以说明性方式而非一限定性方式做出以上说明。在审阅以上说明后,所属领域的技术人员将即刻明了上述实施例的组合及本文中未具体描述的其它实施例。本公开的各种实施例的范围包含其中使用上述结构及方法的其它应用。因此,本公开的各种实施例的范围应参考所附权利要求书连同此权利要求书授权的等效物的整个范围来确定。Although specific embodiments have been illustrated and described herein, those of ordinary skill in the art will appreciate that arrangements aimed at achieving the same results may be substituted for the specific embodiments shown. It is intended that the present invention cover adaptations or variations of various embodiments of the present disclosure. It should be understood that the foregoing description has been made in an illustrative manner and not in a limiting manner. Combinations of the above-described embodiments, and other embodiments not specifically described herein, will be readily apparent to those of skill in the art upon reviewing the above description. The scope of the various embodiments of the present disclosure includes other applications in which the structures and methods described above are used. Therefore, the scope of various embodiments of the present disclosure should be determined with reference to the appended claims, along with the full range of equivalents to which such claims are entitled.

在前述具体实施方式中,出于简化本公开的目的,将各种特征一起分组于单个实施例中。本公开的此方法不应解释为反映本公开的所公开实施例必须使用比明确陈述于每一权利要求中更多的特征的意图。而是,如所附权利要求书所反映,发明性标的物在于少于单个所公开实施例的所有特征。因此,特此将所附权利要求书并入到具体实施方式中,其中每一权利要求本身作为单独实施例。In the foregoing Detailed Description, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the disclosed embodiments of the disclosure have to use more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment.

Claims (18)

1. A memory device using cross matrix parity checking, comprising:
an array of memory cells (130, 219);
control circuitry (140) coupled to the array, wherein the control circuitry is configured to:
writing a first plurality of parity data sets to memory cells (203) in the array, the first plurality of parity data sets each protecting data stored in a row of memory cells of the array;
writing a second plurality of parity data sets to memory cells in the array, the second plurality of parity data sets each protecting data stored in a column of memory cells of the array;
sending the first plurality of parity sets and the second plurality of parity sets to a processor;
receiving error correction material from the processor based on the first plurality of parity sets and the second plurality of parity sets, wherein the error correction data is indicative of a data cluster including a threshold number of errors; and
Performing an error correction operation on the data cluster.
2. The memory device of claim 1, wherein the control circuitry is configured to perform the error correction operation using a reed-solomon error correction operation.
3. The memory device of claim 1, wherein the data clusters are portions of data stored in rows of memory cells coupled to access lines (204).
4. The memory device of claim 1, wherein the data cluster is a row of memory cells coupled to an access line (204).
5. The memory device of claim 1, wherein the first plurality of parity data sets is used to determine that a row of memory cells of the array includes a plurality of errors exceeding a threshold number of errors.
6. The memory device of any one of claims 1-5, wherein the second plurality of parity data sets is used to determine whether a row of memory cells of the array includes a plurality of errors exceeding a threshold number of errors.
7. The memory device of any one of claims 1-5, wherein the control circuitry is further configured to:
determining the first plurality of parity data sets; and
The second plurality of parity data sets is received from a processor (102).
8. The memory device of any one of claims 1-5, wherein the control circuitry is further configured to determine the first plurality of parity data sets and the second plurality of parity data sets.
9. The memory device of any one of claims 1-5, wherein the control circuitry is configured to perform the repair operation independent of receiving data from an ECC component (115) within the memory indicating which data is to be repaired.
10. A method of using a memory device for cross matrix parity checking, comprising:
will:
a first set of parity data is written to a first portion of memory cells coupled to an access line (204) of the array to protect data in a second portion of memory cells coupled to the access line; and
A second set of parity data is written to a first portion of the memory cells coupled to sense lines (205) of the array to protect data in a second portion of the memory cells coupled to the sense lines, wherein the second set of parity data is received from the processor;
sending the first parity data set and the second parity data set to the processor;
receiving instructions to perform an error correction operation on a data cluster in a memory cell of the array based on the first parity data set and the second parity data set; and
And performing the error correction operation on the data cluster.
11. The method as recited in claim 10, further comprising:
performing an analysis on the first parity data set and the second parity data set to determine which data clusters to perform the error correction operation on; and
Cross matrix parity data is determined using the first parity data set and the second parity data set to determine the location of the data clusters in the array.
12. The method of any of claims 10-11, further comprising determining, based on the first set of parity data corresponding to each of the access lines, that a number of errors associated with the data in the first portion of memory cells exceeds a threshold number of errors.
13. The method of any of claims 10-11, further comprising determining, based on the second set of parity data corresponding to each of the access lines, that a number of errors associated with the data in the second portion of memory cells exceeds a threshold number of errors.
14. The method of any of claims 10-11, further comprising performing the error correction operation in response to receiving the instruction from a host (102).
15. A system for using cross matrix parity check, comprising:
a processor (102); and
A memory device (120) coupled to the processor, the memory device comprising:
an array of memory cells (130, 219); and
Control circuitry coupled to the array, wherein the control circuitry is configured to:
will:
a first plurality of parity data sets is written to a first portion of memory cells each coupled to a respective access line (204) of the array to protect data in a respective second portion of the memory cells coupled to their respective access lines; and
A second plurality of parity data sets is written to a second portion of the memory cells each coupled to a respective sense line (205) of the array to protect data in the respective second portion of the memory cells coupled to their respective sense line; and
Sending the first plurality of parity data sets and the second plurality of parity data sets to the processor;
wherein the processor is configured to:
receiving the first plurality of parity data sets and the second plurality of parity data sets; and
Generating instructions to perform an error correction operation on a data cluster stored in a portion of a memory cell coupled to an access line of the access lines; and
The instructions are sent to the memory device.
16. The system of claim 15, wherein the processor is further configured to locate the data cluster by combining results from the first parity data set and the second parity data set.
17. The system of claim 16, wherein the processor is further configured to generate and send the second plurality of parity sets to the memory device.
18. The system of claim 15, wherein the processor is further configured to send a message to the memory device to disable the damaged row of memory cells.
CN202211582945.XA 2021-12-16 2022-12-09 Memory device cross matrix parity check Pending CN116266472A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/553,041 2021-12-16
US17/553,041 US11789813B2 (en) 2021-12-16 2021-12-16 Memory device crossed matrix parity

Publications (1)

Publication Number Publication Date
CN116266472A true CN116266472A (en) 2023-06-20

Family

ID=86744310

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211582945.XA Pending CN116266472A (en) 2021-12-16 2022-12-09 Memory device cross matrix parity check

Country Status (2)

Country Link
US (1) US11789813B2 (en)
CN (1) CN116266472A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI867734B (en) * 2023-09-06 2024-12-21 慧榮科技股份有限公司 Flash memory controller, operation method of flash memory controller, and storage device
TWI867735B (en) * 2023-09-06 2024-12-21 慧榮科技股份有限公司 Flash memory controller, operation method of flash memory controller, and storage device

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4660202A (en) 1985-04-29 1987-04-21 Zenith Electronics Corporation Error protection method for packeted data
US6536009B1 (en) * 2000-05-17 2003-03-18 Trw Inc. Technique for generating single-bit error-correcting, two-bit burst error-detecting codes
US6983413B2 (en) * 2000-12-12 2006-01-03 Kabushiki Kaisha Toshiba Data processing method using error-correcting code and an apparatus using the same method
WO2002078196A1 (en) 2001-03-22 2002-10-03 University Of Florida Method and coding means for error-correction utilizing concatenated parity and turbo codes
US20060256615A1 (en) 2005-05-10 2006-11-16 Larson Thane M Horizontal and vertical error correction coding (ECC) system and method
US9032283B2 (en) 2008-09-29 2015-05-12 Apple Inc. Rendering common cell formatting for adjacent cells
US9425829B2 (en) * 2014-09-12 2016-08-23 Freescale Semiconductor, Inc. Adaptive error correction codes (ECCs) for electronic memories
KR20210138241A (en) * 2020-05-12 2021-11-19 삼성전자주식회사 Memory controller, memory system and memory module

Also Published As

Publication number Publication date
US11789813B2 (en) 2023-10-17
US20230195567A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
US8402217B2 (en) Implementing RAID in solid state memory
US9483370B2 (en) Error detection/correction based memory management
US10340014B2 (en) Monitoring error correction operations performed in memory
US9229802B2 (en) Non-systematic coded error correction
US9201718B2 (en) Data recovery in a solid state storage system
US11928025B2 (en) Memory device protection
CN116266472A (en) Memory device cross matrix parity check
CN116266473A (en) Memory device cross matrix parity check
US20240296094A1 (en) Memory bank protection
CN117632579B (en) Memory control method and memory storage device
US20250087294A1 (en) Memory repairs
CN117716342A (en) On-die ECC data for memory devices
CN119517129A (en) Flexible address swap column redundancy

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
OSZAR »