CN109840162A - 存储器件及其操作方法 - Google Patents
存储器件及其操作方法 Download PDFInfo
- Publication number
- CN109840162A CN109840162A CN201811212360.2A CN201811212360A CN109840162A CN 109840162 A CN109840162 A CN 109840162A CN 201811212360 A CN201811212360 A CN 201811212360A CN 109840162 A CN109840162 A CN 109840162A
- Authority
- CN
- China
- Prior art keywords
- group
- word
- parity check
- bit
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/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/1068—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 in sector programmable memories, e.g. flash disk
-
- 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
-
- 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
- G06F11/1056—Updating check bits on partial write, i.e. read/modify/write
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
- 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
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- 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
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
- Computer Hardware Design (AREA)
Abstract
一种用于操作存储器件的方法包括:取回第一字,其中,第一字包括与第一字相对应的多个数据位和多个奇偶校验位,其中,多个数据位形成N‑1组,并且多个奇偶校验位形成不同于N‑1组的第一组,并且N为大于2的正整数;接收更新N‑1组中的第一组的相应数据位的请求;以及提供第二字,第二字包括与第二字相对应的形成N‑1组中的第二组的更新的数据位和多个更新的奇偶校验位,其中,多个更新的奇偶校验位形成具有与N‑1组中的第一组相同的组索引的第二组。本发明的实施例还提供了存储器件。
Description
技术领域
本发明的实施例一般地涉及半导体技术领域,更具体地涉及存储器件及其操作方法。
背景技术
错误校正码(ECC)使能(enabled)的存储器件通常称为包括除了实际的数据位以外的附加信息(被称为ECC(错误校正码)位(通常称为“奇偶校验位”))的存储器件,其中,该附加信息存储在存储器件中。当从存储器件读取数据位时,这种奇偶校验位用于检查数据位的一致性。通常,使用奇偶校验位,可以检测数据位的损坏(例如,错误)并且可以校正损坏的数据位。
在这种ECC使能的存储器件中,通常通过ECC引擎生成与相应的数据位相关联的奇偶校验位。例如,为了检测或校正具有N个数据位的数据字的错误,生成与N个数据位相关联的M位奇偶校验位。这样,用于存储N个数据位的存储器件中的单元的数量是N+M位。响应于对ECC使能的存储器件的写入访问(即,将多个数据位写入至存储器件),将计算相应的奇偶校验位并将其与多个数据位一起写入存储器件。当读取多个数据位时,使用相应的奇偶校验位来检查数据位的一致性,并且可以相应地校正任何数据错误(如果存在)。
在各种应用中,在更新N个数据位的同时,代替更新全部N个位,可以实施多个部分写入周期以更新全部N个数据位,其中,每个部分写入周期配置为更新N个数据位的对应子集。在上述数据字具有64个数据位(N=64)的实例中,可以实施总共4个部分写入周期以更新总共64个数据位。每次当实施部分写入周期以更新数据位的相应子集时,产生(例如,更新)奇偶校验位的相应集合。根据4个部分写入周期,将奇偶校验位的相应集合重复写入至存储器件的相同单元,这对具有(present)奇偶校验位的单元的相应耐久性产生不利影响。因此,在ECC使能存储器件中实施部分写入周期的现有技术并不完全令人满意。
发明内容
根据本发明的一方面,提供了一种用于操作存储器件的方法,包括:取回第一字,其中,所述第一字包括与所述第一字相对应的多个数据位和多个奇偶校验位,其中,所述多个数据位形成N-1组并且所述多个奇偶校验位形成不同于所述N-1组的第一组,并且N是大于2的正整数;接收更新所述N-1组中的第一组的相应数据位的请求;以及提供第二字,其中,所述第二字包括与所述第二字相对应的形成所述N-1组中的第二组的更新的数据位和多个更新的奇偶校验位,其中,所述多个更新的奇偶校验位形成具有与所述N-1组中的第一组相同的组索引的第二组。
根据本发明的另一方面,一种用于操作存储器件的方法,包括:从存储器阵列读取第一字,其中,所述第一字包括与所述第一字相对应的形成N-1组的多个数据位和形成附接至所述N-1组的第一组的多个奇偶校验位,并且其中,所述奇偶校验位的第一组和所述数据位的N-1组均与组索引相关联并且N是大于2的正整数;接收部分写入请求以更新所述N-1组中的第一组的数据位;通过将所述N-1组中的第二组和所述多个更新的奇偶校验位的第二组的相应组索引分别与所述奇偶校验位的第一组的组索引和所述N-1组中的第一组的组索引相对应提供第二字,其中,所述第二字包括与所述第二字相对应的形成所述N-1组中的第二组的更新的数据位和形成第二组的多个更新的奇偶校验位;以及将所述第二字的部分写入到所述存储器阵列中。
根据本发明的又一方面,提供了一种存储器件,包括:多个存储器单元,配置为呈现第一字,其中,所述第一字包括与所述第一字相对应的形成N-1组的多个数据位和形成附接至所述N-1组的第一组的多个奇偶校验位,并且其中,所述奇偶校验位的第一组和所述数据位的N-1组均与组索引相关联并且N是大于2的正整数;以及控制逻辑电路,连接至所述多个存储器单元,并且配置为:响应于更新所述N-1组中的第一组的数据位的请求,提供第二字,其中,所述第二字包括与所述第二字相对应的形成N-1组中的第二组的更新的数据位和形成第二组的多个更新的奇偶校验位,其中,所述N-1组中的第一组和所述更新的奇偶校验位的第二组相应组索引相同;以及使用所述第二字更新所述第一字的部分。
附图说明
当结合附图进行阅读时,从以下详细描述可最佳地理解本发明的各个方面。应该注意,根据工业中的标准实践,各个部件未按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增大或减小。
图1示出根据一些实施例的存储器件的框图。
图2示出根据一些实施例的操作存储器件的示例性方法的流程图。
图3A、图3B、图3C、图3D、图3E和图3F分别示出根据一些实施例的使用图2的方法部分更新的字的符号图。
图4示出根据一些实施例的在各个部分更新阶段的字的相应符号图。
图5示出根据一些实施例的实施图2的方法的计算机系统的框图。
具体实施方式
以下公开内容提供了许多用于实现所提供主题的不同特征的不同实施例或实例。下面描述了组件和布置的具体实例以简化本发明。当然,这些仅仅是实例,而不旨在限制本发明。例如,应该理解,当一个元件称为“连接至”或“耦合至”另一元件时,它可以直接连接至或耦合至其他元件,或可以存在一个或多个中间元件。
本发明提供了包括控制逻辑电路的ECC使能存储器件的各种实施例,其中,控制逻辑电路配置为动态地改变在每个部分写入周期期间存在奇偶校验位的存储器件的相应单元。在一些实施例中,控制逻辑电路配置为通过提供第二数据字来更新存在于存储器件中的第一数据字的子集。更具体地,第一数据字和第二数据字中的每个具有包括多个数据位的多个子集和至少一个奇偶校验位的相应子集。在一些实施例中,控制逻辑电路配置为分配第二数据字的奇偶校验位的子集的组索引作为第一数据字的待更新子集的组索引,并且分配包括更新位的第二数据字的子集的组索引作为第一数据字的奇偶校验位的子集的组索引。这样,经过多个部分写入周期,可以改变要写入奇偶校验位的单元,这有利地增加了这些单元的相应耐久性。
图1示出根据本发明的各个实施例的存储器件100的示例性框图。存储器件100包括存储器阵列102、输入/输出(I/O)电路104、控制逻辑电路106和错误校正码(ECC)电路108。在一些实施例中,存储器件100的组件(例如,存储器阵列102、I/O电路104、控制逻辑电路106、ECC电路108等)彼此连接。
在一些实施例中,存储器阵列102包括布置为阵列的多个存储器单元或多个单元,其中,单元可以均为诸如铁电随机存取存储器(FRAM)单元、电阻式RAM(RRAM)单元、磁阻式RAM(MRAM)单元等的非易失性存储器(NVM)单元。在一些实施例中,多个存储器单元中的每个配置为被写入和读取,将在下面对其进行进一步详细讨论。I/O电路104包括多个驱动器(例如,字线驱动器、位线驱动器等)、感测电路(例如,感测放大器等)和其他逻辑电路(例如,传输门、开关、多路复用器等),并且该I/O电路104配置为访问存储器阵列102的多个存储器单元。控制逻辑电路106配置为控制I/O电路104以将数据位写入到存储器阵列102的相应单元中并且读取通过存储器阵列102的相应单元呈现(present)的数据位。ECC电路108配置为基于要写入到存储器阵列102中的数据位生成各种ECC(例如,汉明码(Hamming code)、萧码(Hsiao code)、里德-所罗门码(Reed-Solomon code)、博斯-查德胡里-霍昆格母码(Bose-Chaudhuri-Hocquenghem code,简称BCH code)、涡轮码(Turbocode),低密度-奇偶校验码)中的一个,并且当从存储器阵列102读取数据位时,使用这种ECC来检测数据位的错误,并且进一步校正这种错误(如果需要)。
图2示出根据各个实施例的用于操作存储器件100的示例性方法200的流程图。在各个实施例中,通过图1中所示的相应组件实施方法200的操作。为了讨论的目的,将结合上面的图1和后续的图3A、图3B、图3C、图3D、图3E和图3F来描述方法200的后续实施例,其中,图3A、图3B、图3C、图3D、图3E和图3F以符号的形式分别示出在方法200的各个操作阶段处的字。方法200的所示实施例仅仅是一个实例。因此,应当理解,可以省略、重新排序和/或添加方法200的各种操作中的任何操作,同时保持在本发明的范围内。
方法200从操作202开始,其中,接收将对第一字实施的写入请求,其中,该第一字包括(N-1)组数据位和1组奇偶校验位。在一些实施例中,(N-1)组数据位均具有数据字的等分数据位,并且奇偶校验位组也具有相同数量的奇偶校验位。例如,当数据字有64个数据位时,存在4组数据位,每组具有16个数据位,并且对应于有64个数据位的数据字,存在具有16个奇偶校验位的1个附加组,其共同形成具有80个数据或奇偶校验位的第一字。在一些可选实施例中,(N-1)组数据位的相应数量可以彼此不同,同时仍然在本发明的范围内。为了清楚说明,(N-1)组数据位和1组奇偶校验位中的每个在这里分别称为“数据组”和“奇偶校验组”。
在一些实施例中,通过ECC电路108基于数据字生成16个奇偶校验位,作为上述各种ECC码之一。继续上面的实例,这种第一字包括4个数据组和奇偶校验组(这将在图3A-图3F中以符号的形式示出),并且可以通过(例如先前写入到)存储器阵列102的相应单元呈现这种第一字,并且根据一些实施例,可以通过控制逻辑电路106接收更新第一字的写入请求。
方法200继续至操作204,其中,写入请求确定为是否是部分写入请求。如果不是(即写入请求不是部分写入请求),则方法200进行至操作206,其中,将更新第一字的所有数据位;并且如果是(即写入请求是部分写入请求),则方法200进行至下面的操作208至222以部分地更新在下面讨论的第一字的数据位。根据一些实施例,在操作206中,控制逻辑电路106可首先使I/O电路104从存储器阵列102的相应单元读出第一字,通过ECC电路108解码第一字以取回(retrieve)第一字的正确的或校正的数据位,更新所有正确(校正的)的数据位,并且使得I/O电路104将正确(校正)的数据位写入到存储器阵列102的相应单元中。
另一方面,方法200继续至操作208,其中从存储器阵列读取第一字。在一些实施例中,控制逻辑电路106可以使得I/O电路104从存储器阵列102读出第一字。例如,控制逻辑电路106可以导致I/O电路104的读取驱动器使WL生效(assert),其中,单元沿着WL呈现(例如,存储)第一字,并且然后导致分别连接至该单元的I/O电路104的感测放大器读出第一字。为了简明,在本发明的附图中未示出上述读取驱动器、WL和感测放大器。
参考图3A,提供了与方法200的操作208相对应的第一字的符号图作为实例。如图所示,第一字包括4个数据组:302、304、306和308以及1个奇偶校验组:310,其中,每个数据/奇偶校验组与组索引相关联,在下面相对于方法200的操作210将对其进行进一步详细讨论。在一些实施例中,数据组302、304、306和308中的每个包括多个数据位,并且类似地,奇偶校验组310包括多个奇偶校验位。此外,相应的数据标记与数据组302、304、306和308中的每个相关联,并且相应的奇偶校验标记与奇偶校验组310相关联。
例如,数据组302包括16个数据位,在图3A中统一示出为“d[31:16]”,并且数据组302与具有4位的数据标记相关联,其在图3A中示出为“0010”;数据组304包括16个数据位,在图3A中统一示出为“d[15:0]”,并且数据组304与具有4位的数据标记相关联,在图3A中示出为“0001”;数据组306包括16个数据位,在图3A中统一示出为“d[47:32]”,并且数据组306与具有4位的数据标记相关联,其在图3A中示出为“0100”;数据组308包括16个数据位,在图3A中统一示出为“d[63:48]”,并且数据组308与具有4位的数据标记相关联,其在图3A中示出为“1000”;奇偶校验组310包括16个奇偶校验位,其在图3A中统一示出为“p[15:0]”,并且奇偶校验组310与具有4位的奇偶校验标记相关联,其在图3A中示出为“1111”。
在一些实施例中,数据组的数据位的每位、奇偶校验组的奇偶校验位、数据标记和奇偶校验标记配置为通过存储器阵列102的相应单元呈现。在一些实施例中,数据标记和奇偶校验标记具有相应不同的“位结构”以允许控制逻辑电路106将奇偶校验标记与数据标记区分开。更具体地,在数据标记0010、0001、0100和1000的4位上,每个数据标记具有至多一个逻辑1;另一方面,在奇偶校验标记1111的4位上,奇偶校验标记具有多于一个加上最大允许错误位的逻辑1的数量。例如,当最大允许误差位为2时,奇偶校验标记1111配置为具有多于3个(即,1+2)的逻辑1的数量。这样,即使奇偶校验标记具有两个错误位,例如1100,控制逻辑电路106也仍然可以将奇偶校验标记与所有其他数据标记区分开,因为数据标记不能具有多于一个的逻辑1。
方法200继续至操作210,其中,配置为更新的奇偶校验组和数据组的相应组索引分别识别为“A”和“B”。如上所述,在一些实施例中,每个数据/奇偶校验组与组索引相关联。再次参考图3A,当从存储器阵列102读取第一字时,如图所示布置第一字的数据/奇偶校验组302-310。在一些实施例中,控制逻辑电路106可记录可由控制逻辑电路106预定义或分配的数据/奇偶校验组302、304、306、308和310的相应组索引。例如,数据组302与组索引0相关联;数据组304与组索引1相关联;数据组306与组索引2相关联;奇偶校验组310与组索引3相关联;并且数据组308与组索引4相关联。控制逻辑电路106可以记录第一字的数据/奇偶校验组302-310的这种组索引。
在控制逻辑电路106配置为更新数据组304的数据位(即,d[15:0])的实例中,控制逻辑电路106可以将“B”的值记录为1(因为数据组304的组索引是1)。并且因为奇偶校验组310与组索引3相关联,如上所述通过其奇偶校验标记来区分,所以控制逻辑电路106可将“A”的值记录为3。在一些实施例中,控制逻辑电路106可以使用A和B的这种值来改变存储器阵列102的单元以呈现更新的奇偶校验位,将在下面对其讨论。
方法200继续至操作212,其中,去除奇偶校验组的标记并且重新布置第一字中的N组。参考图3B,作为实例提供了与方法200的操作212相对应的第一字的符号图。如图所示,去除奇偶校验组310的奇偶校验标记“1111”,并且重新布置(N-1)个数据组302至308和奇偶校验组310(即,第一字的N组)。
方法200继续至操作214,其中,使用与第一字相关联的ECC校正第一字的数据位(如果需要)。在一些实施例中,在控制逻辑电路106从存储器阵列102读出并重新布置第一字(如图3B所示)之后,控制逻辑电路106可以将重新布置的第一字提供给ECC电路108,以通过使用奇偶校验位组310(即,与第一字相关联的ECC)来检查在读取/重新布置的第一字(即,(N-1)组数据位302至308)中是否存在任何错误数据位。如果是,则ECC电路108可以校正这种错误数据位并且将第一字的校正的数据位提供给控制逻辑电路106;并且如果不是,则ECC电路108可以将所接收的数据位提供给控制逻辑电路106,其中的任一个在图3C中以符号的形式示出为“检查的”或“正确的(校正的)”数据位。
方法200继续至操作216,其中通过去除与组索引B相关联的数据组并且将更新的数据组插入到与组索引A相关联的数据组中来修改正确的(校正的)数据位以生成中间数据位。继续上面的实例,其中通过控制逻辑电路106分别将A和B的值记录为3和1,作为一个实例在图3D中提供与方法200的操作216相对应的这种中间数据位的符号图。如图所示,中间数据位不包括与组索引1(由虚线概述)相关联的数据组,即包括“旧”数据位的数据组304。然而,中间数据位包括从数据组304的旧数据位更新的数据位,其插入到与组索引3相关联的组中(填充有对角线条纹)。更具体地,在一些实施例中,控制逻辑电路106从校正的数据位(图3C)中去除组索引为1(组304)的组的数据位,更新组304中的数据位,并且然后将这种更新的组304’插入到组索引3的位置以提供中间数据位。
方法200继续至操作218,其中,提供更新的奇偶校验位。在一些实施例中,在控制逻辑电路106取回中间数据位(图3D)之后,控制逻辑电路106可以将中间数据位提供给ECC电路108以生成与包括更新的数据位(组304’的数据位)的中间数据位相关联的更新的奇偶校验位(即,更新的ECC码)。这种更新的奇偶校验位可以形成在图3E中以符号的形式示出的奇偶校验组310’。如上所述,基于相应的数据位(即,中间数据位)来生成更新的奇偶校验位,该中间数据位可以是汉明码、萧码、里德-所罗门码、博斯-查德胡里-霍昆格母码、涡轮码,低密度-奇偶校验码中的一种。
方法200继续至操作220,其中,将更新的奇偶校验位插入到与组索引B相关联的中间数据位组以生成第二字(或部分更新的第一字)。继续上面的实例,控制逻辑电路106将B的值记录为1(操作210),从而通过控制逻辑电路106将形成组310’的更新的奇偶校验位插入到具有组索引1的组中以生成在图3A中以符号的形式示出的第二字。
方法200继续至操作222,其中,将第二字部分地写回到存储器阵列。如上所述,从存储器阵列102的相应单元(图3A)读取配置为待更新的第一字的数据位(即,组302至308)和奇偶校验位(即,组310)。在一些实施例中,在控制逻辑电路106生成第二字(图3F)之后,控制逻辑电路106可以跟踪(follow)第二字的数据结构以将包括更新的数据位的组和包括更新的奇偶校验位的组写回到存储器阵列102的单元中。
更具体地,再次参考图3A,在接收到部分更新第一字的请求时,从存储器阵列102的多个第一单元中读出数据组302的数据位;从存储器阵列102的多个第二单元中读出数据组304的数据位;从存储器阵列102的多个第三单元中读出数据组306的数据位;从存储器阵列102的多个第四单元中读出奇偶校验组310的奇偶校验位;并且从存储器阵列102的多个第五单元中读出数据组308的数据位。再次参考图3F,当将第二字(部分更新的第一字)部分地写回存储器阵列102时,只将包括在奇偶校验组310’中的更新的奇偶校验位写回到存储器阵列102的多个第二单元(其最初呈现待更新的数据位)中;并且只将包括在数据组304’中的更新的数据位写回到存储器阵列102的多个第四单元(其最初呈现待更新的奇偶校验位)中。这样,每当实施部分写入周期(即,更新字中的一组)时,可以通过将呈现待更新的数据位的单元与呈现预先更新的奇偶校验位的单元进行交换而动态地改变配置为呈现更新的奇偶校验位的单元。因此,当实施多个部分写入周期时,可以更均匀地分布写入单元的数量,这可以有利地改进单元的相应耐久性。
图4示出根据一些实施例的在各个部分更新阶段的字400的相应符号图。当从存储器阵列(在图4中示出为“As-read”)读出字400时,字400包括奇偶校验组401、第一数据组402、第二数据组404、第三数据组406和第四数据组408,通过存储器阵列的各个单元呈现数据/奇偶校验组401-408的数据/奇偶校验位。例如,通过多个第一单元呈现奇偶校验组401的奇偶校验位;通过多个第二单元呈现数据组402的数据位;通过多个第三单元呈现数据组404的数据位;通过多个第四单元呈现数据组406的数据位;并且通过多个第五单元呈现数据组408的数据位。
遵循上述操作原理,当对字400(例如,仅字400的数据位402的组待更新)实施第一部分写入周期(即,第一部分更新)时,可以将包括更新的数据位的组(数据组402’)的位置到调换到奇偶校验组401的位置,并且将包括更新的奇偶校验位的组(奇偶校验组401’)的位置调换到配置为待更新的数据组402的位置。换言之,交换相应的组索引。这样,可以将包括在组402’中的更新的数据位相应地写入到多个第一单元(而不是读取数据组402的数据位的多个第二单元),并且可以将包括在奇偶校验组401’中的更新的奇偶校验位相应地写入到多个第二单元(而不是读取奇偶校验组401的奇偶校验位的多个第一单元)中。
类似地,当后续对字400(例如,仅字400的数据位404的组待更新)实施第二部分写入周期时,可以将包括在数据组404’中的更新的数据位相应地写入到多个第二单元(而不是读取数据组404的数据位的多个第三单元),并且可以将包括在组401”中的相应更新的奇偶校验位相应地写入到多个第三单元(而不是读取奇偶校验组401’的奇偶校验位的多个第二单元)。当后续对字400(例如,仅字400的数据组406的数据位待更新)实施第三部分写入周期时,可以将包括在数据组406’中的更新的数据位相应地写入到多个第三单元(而不是读取组404的数据位的多个第四单元),并且可以将包括在奇偶校验组401”中的相应更新的奇偶校验位相应地写入到多个第四单元(而不是读取组401”的奇偶校验位的多个第三单元)。当后续对字400(例如,仅包括在字400的数据组408中的数据位待更新)实施第四部分写入周期时,可以将包括数据组408’中的更新的数据位相应地写入到多个第四单元(而不是读取组408的数据位的多个第五单元),并且可以将包括在奇偶校验组401””中的相应更新的奇偶校验位相应地写入到多个第五单元(而不是读取奇偶校验组401””的奇偶校验位的多个第四单元)。这样,在两次的4个部分写入周期上,均匀地写入多个第一、第二、第三、第四和第五单元中的每个。
图5是根据一些实施例的计算机系统500的框图。在一些实施例中,通过图5的一个或多个计算机系统500实现相对于图1-图4描述的工具和/或引擎和/或系统和/或操作中的一个或多个。系统500包括通过总线504或其他互连通信机制通信连接的至少一个处理器501、内存502、网络界面(I/F)506、输入/输出(I/O)装置508和存储器510。
在一些实施例中,内存502包括连接至总线504的随机存取存储器(RAM)和/或其他动态存储装置和/或只读存储器(ROM)和/或其他静态存储装置,以用于存储由处理器501执行的数据和/或指令。内存502还可以包括用户空间512、内核514、内核和/或用户空间的部分及它们的组件。在一些实施例中,内存502也用于存储在执行由处理器501执行的指令期间的临时变量或其他中间信息。在各个实施例中,内存502可以包括在单个集成电路内或者包括彼此可操作地连接的多个分立存储装置。
在一些实施例中,诸如磁盘或光盘的存储装置510连接至总线504以用于存储数据和/或指令。I/O装置508包括用于使用户能够与系统500交互的输入装置、输出装置和/或组合的输入/输出装置。例如,输入装置包括用于将信息和命令传送至处理器501的键盘、小键盘、鼠标、轨迹球、触控板和/或光标方向键。例如,输出装置包括用于将信息传送至用户的显示器、打印机、语音合成器。
在一些实施例中,通过处理器501实现相对于图1-图4描述的工具和/或引擎和/或系统的一个或多个操作和/或功能,为处理器501编写程序以用于实施这种操作和/或功能。在一些实施例中,处理器501配置为特定配置的硬件(例如,一个或多个专用集成电路(ASIC))。根据各个实施例,可以在单个集成电路(IC)内或者作为多个通信连接的IC和/或分立电路来实现处理器501。应当理解,可以根据各种已知技术来实现处理器501。在一个实施例中,例如,处理器501包括一个或多个电路或单元,其中,该一个或多个电路或单元可配置为通过执行存储在相关存储器中的指令来实施本文所述的一个或多个功能或工艺。在其他实施例中,处理器501可以实现为固件(例如,离散逻辑组件),其中,固件配置为实施本文所述的一个或多个功能或工艺。例如,根据各个实施例,处理器501可以包括一个或多个控制器、微处理器、微控制器、专用集成电路(ASIC)、数字信号处理器、可编程逻辑器件、现场可编程门阵列或这些器件或结构的任何组合或其他已知的装置和结构,以实施本文所述的功能。
内存502、(网络)I/F 506、存储器510、I/O装置508和总线504中的一个或多个是可操作地接收通过处理器501处理的指令、数据、设计约束、设计规则、网表、布局、模型和/或其他参数。
在一些实施例中,操作和/或功能实现为存储在非暂时性计算机可读记录介质中的程序的功能。在至少一个实施例中,操作和/或功能实现为存储在内存502中的诸如可执行指令集的程序的功能。非暂时性计算机可读记录介质的实例包括但不限于:外部/可去除和/或内部/内置的储存器或内存单元,例如,光盘(诸如DVD)、磁盘(诸如硬盘)、半导体存储器(诸如ROM、RAM、存储卡等)中的一种或多种。
在实施例中,一种方法包括:取回第一字,其中,第一字包括与第一字相对应的多个数据位和多个奇偶校验位,其中,多个数据位形成N-1组,并且多个奇偶校验位形成不同于与N-1组的第一组,并且N是大于2的正整数;接收更新N-1组中的第一组的相应数据位的请求;以及提供第二字,其中,第二字包括与第二字相对应的形成N-1组中的第二组的更新的数据位和多个更新的奇偶校验位,其中,多个更新的奇偶校验位形成与N-1组中的第一组具有相同组索引的第二组。
在实施例中,所述多个奇偶校验位的第一组和所述第N-1组中的第二组具有相同的组索引。
在实施例中,方法还包括:从存储器阵列读取所述第一字;识别所述多个奇偶校验位的第一组和所述N-1组中的第一组的相应组索引;以及从所述第一字的所述多个数据位中取回多个校正的数据位。
在实施例中,方法还包括:使用所述多个奇偶校验位的第一组和所述N-1组的相应标记来区分所述多个奇偶校验位的第一组和所述N-1组。
在实施例中,多个标记中的每个标记均具有附接至所述N-1组中的每组的相应多个数据位或第一组的所述多个奇偶校验位的多个位。
在实施例中,方法还包括:在取回所述多个校正的数据位之前,去除附接至第一组的所述多个奇偶校验位的标记并重新布置所述多个奇偶校验位的第一组和所述N-1组。
在实施例中,方法还包括:从所述多个校正的数据位中去除所述N-1组中的第一组的校正的数据位;以及将所述更新的数据位插入到所述第N-1组中的第二组,以提供多个中间数据位。
在实施例中,方法还包括:基于所述多个中间数据位,提供所述更新的奇偶校验位;以及将所述更新的奇偶校验位插入到所述N-1组中的第一组,以便提供所述第二字。
在实施例中,方法还包括:将所述第二字的部分写入所述存储器阵列中,其中,所述第二字的部分包括所述多个更新的奇偶校验位的第二组和所述N-1组中的第二组。
在另一实施例中,一种方法包括:从存储器阵列读取第一字,其中,第一字包括与第一字相对应的形成N-1组的多个数据位和形成附接至N-1组的第一组的多个奇偶校验位,并且其中,奇偶校验位的第一组和数据位的N-1组均与组索引相关联,并且N是大于2的正整数;接收部分写入请求以更新N-1组中的第一组的数据位;通过将N-1组中的第二组和多个更新的奇偶校验位的第二组的组索引分别与奇偶校验位的第一组的组索引和N-1组的第一组的组索引相对应提供第二字,其中,第二字包括形成与第二字相对应的N-1组中的第二组的更新的数据位和形成第二组的多个更新的奇偶校验位;以及将第二字的部分写入至存储器阵列。
在实施例中,方法还包括:识别所述奇偶校验位的第一组和所述N-1组的第一组的相应组索引;以及如果需要,从所述第一字的多个数据位取回被校正的多个检查的数据位。
在实施例中,方法还包括:读取所述奇偶校验位的第一组和所述N-1组的相应标记以至少识别所述奇偶校验位的第一组和所述N-1组中的第一组的相应组索引。
在实施例中,所述标记均具有附接至所述N-1组中的每组的相应多个数据位或第一组的所述多个奇偶校验位的多个位。
在实施例中,方法还包括:在取回所述多个检查的数据位之前,去除附接至第一组的所述多个奇偶校验位的标记并重新布置所述奇偶校验位的第一组和所述N-1组。
在实施例中,方法还包括:从所述多个检查的数据位去除所述N-1组中的第一组的检查的数据位;以及将所述更新的数据位插入到所述N-1组中的第二组,以提供多个中间数据位。
在实施例中,方法还包括:基于所述多个中间数据位,提供所述更新的奇偶校验位;以及将所述更新的奇偶校验位插入到所述N-1组中的第一组,以便提供所述第二字。
在又一实施例中,一种存储器件包括:多个存储单元,配置为呈现第一字,其中,第一字包括与第一字相对应的形成N-1组的多个数据位和形成附接至N-1组的第一组的多个奇偶校验位,并且其中,奇偶校验位的第一组和数据位的第N-1组均与组索引相关联,并且N是大于2的正整数;以及控制逻辑电路,连接至多个存储器单元,并且配置为:响应于更新N-1组的第一组的数据位的请求,提供第二字,其中,第二字包括与第二字相对应的形成N-1组的第二组的更新的数据位和形成第二组的多个更新的奇偶校验位,其中,N-1组的第一组和更新的奇偶校验位的第二组的相应组索引是相同的;以及使用第二字更新第一字的部分。
在实施例中,第一组的奇偶校验位与所述N-1组中的第二组的相应组索引相同。
在实施例中,所述控制逻辑电路还配置为:识别所述多个奇偶校验位的第一组和所述N-1组中的第一组的相应组索引;如果需要,从所述第一字的所述多个数据位中取回被校正的多个检查的数据位;从所述多个检查的数据位中去除所述N-1组中的第一组的检查的数据位;以及将所述更新的数据位插入到所述N-1组中的第二组,以提供多个中间数据位。
在实施例中,所述控制逻辑电路还配置为:基于所述多个中间数据位,提供所述更新的奇偶校验位;以及将所述更新的奇偶校验位插入到所述N-1组中的第一组,以便提供所述第二字。
上面概述了若干实施例的特征,使得本领域技术人员可以更好地理解本发明的各方面。本领域技术人员应该理解,他们可以容易地使用本发明作为基础来设计或修改用于实施与在此所介绍实施例相同的目的和/或实现相同优势的其他工艺和结构。本领域技术人员也应该意识到,这种等同构造并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,在此他们可以做出多种变化、替换以及改变。
Claims (10)
1.一种用于操作存储器件的方法,包括:
取回第一字,其中,所述第一字包括与所述第一字相对应的多个数据位和多个奇偶校验位,其中,所述多个数据位形成N-1组并且所述多个奇偶校验位形成不同于所述N-1组的第一组,并且N是大于2的正整数;
接收更新所述N-1组中的第一组的相应数据位的请求;以及
提供第二字,其中,所述第二字包括与所述第二字相对应的形成所述N-1组中的第二组的更新的数据位和多个更新的奇偶校验位,其中,所述多个更新的奇偶校验位形成具有与所述N-1组中的第一组相同的组索引的第二组。
2.根据权利要求1所述的方法,其中,所述多个奇偶校验位的第一组和所述第N-1组中的第二组具有相同的组索引。
3.根据权利要求1所述的方法,还包括:
从存储器阵列读取所述第一字;
识别所述多个奇偶校验位的第一组和所述N-1组中的第一组的相应组索引;以及
从所述第一字的所述多个数据位中取回多个校正的数据位。
4.根据权利要求3所述的方法,还包括:
使用所述多个奇偶校验位的第一组和所述N-1组的相应标记来区分所述多个奇偶校验位的第一组和所述N-1组。
5.根据权利要求4所述的方法,其中,多个标记中的每个标记均具有附接至所述N-1组中的每组的相应多个数据位或第一组的所述多个奇偶校验位的多个位。
6.根据权利要求5所述的方法,还包括:
在取回所述多个校正的数据位之前,去除附接至第一组的所述多个奇偶校验位的标记并重新布置所述多个奇偶校验位的第一组和所述N-1组。
7.根据权利要求3所述的方法,还包括:
从所述多个校正的数据位中去除所述N-1组中的第一组的校正的数据位;以及
将所述更新的数据位插入到所述第N-1组中的第二组,以提供多个中间数据位。
8.根据权利要求7所述的方法,还包括:
基于所述多个中间数据位,提供所述更新的奇偶校验位;以及
将所述更新的奇偶校验位插入到所述N-1组中的第一组,以便提供所述第二字。
9.一种用于操作存储器件的方法,包括:
从存储器阵列读取第一字,其中,所述第一字包括与所述第一字相对应的形成N-1组的多个数据位和形成附接至所述N-1组的第一组的多个奇偶校验位,并且其中,所述奇偶校验位的第一组和所述数据位的N-1组均与组索引相关联并且N是大于2的正整数;
接收部分写入请求以更新所述N-1组中的第一组的数据位;
通过将所述N-1组中的第二组和所述多个更新的奇偶校验位的第二组的相应组索引分别与所述奇偶校验位的第一组的组索引和所述N-1组中的第一组的组索引相对应提供第二字,其中,所述第二字包括与所述第二字相对应的形成所述N-1组中的第二组的更新的数据位和形成第二组的多个更新的奇偶校验位;以及
将所述第二字的部分写入到所述存储器阵列中。
10.一种存储器件,包括:
多个存储器单元,配置为呈现第一字,
其中,所述第一字包括与所述第一字相对应的形成N-1组的多个数据位和形成附接至所述N-1组的第一组的多个奇偶校验位,并且其中,所述奇偶校验位的第一组和所述数据位的N-1组均与组索引相关联并且N是大于2的正整数;以及
控制逻辑电路,连接至所述多个存储器单元,并且配置为:
响应于更新所述N-1组中的第一组的数据位的请求,提供第二字,其中,所述第二字包括与所述第二字相对应的形成N-1组中的第二组的更新的数据位和形成第二组的多个更新的奇偶校验位,其中,所述N-1组中的第一组和所述更新的奇偶校验位的第二组相应组索引相同;以及
使用所述第二字更新所述第一字的部分。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762592189P | 2017-11-29 | 2017-11-29 | |
US62/592,189 | 2017-11-29 | ||
US15/965,883 US10599517B2 (en) | 2017-11-29 | 2018-04-28 | Memory device |
US15/965,883 | 2018-04-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109840162A true CN109840162A (zh) | 2019-06-04 |
CN109840162B CN109840162B (zh) | 2022-08-09 |
Family
ID=66442146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811212360.2A Active CN109840162B (zh) | 2017-11-29 | 2018-10-18 | 存储器件及其操作方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10599517B2 (zh) |
KR (1) | KR102142602B1 (zh) |
CN (1) | CN109840162B (zh) |
DE (1) | DE102018124836A1 (zh) |
TW (1) | TWI677877B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599517B2 (en) * | 2017-11-29 | 2020-03-24 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device |
JP2021047527A (ja) * | 2019-09-17 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
TWI738390B (zh) * | 2020-06-19 | 2021-09-01 | 群聯電子股份有限公司 | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 |
US11681578B2 (en) * | 2021-02-16 | 2023-06-20 | Micron Technology, Inc. | Apparatuses, systems, and methods for multi-pump error correction |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1155950A (zh) * | 1995-04-03 | 1997-07-30 | 松下电器产业株式会社 | 具有纠错码数据结构的数据传输系统、数据记录和再生成设备及记录介质 |
US20070061503A1 (en) * | 2005-08-23 | 2007-03-15 | Via Technologies, Inc. | Data arrangement and data arranging method in storage device |
CN102272841A (zh) * | 2009-01-09 | 2011-12-07 | 国际商业机器公司 | 磁带上多磁道记录的重写高效ecc/交错 |
CN105340022A (zh) * | 2013-06-24 | 2016-02-17 | 美光科技公司 | 用于校正数据错误的电路、设备及方法 |
US20160162359A1 (en) * | 2014-12-09 | 2016-06-09 | Marvell Israel (M.I.S.L) Ltd. | System and method for performing simultaneous read and write operations in a memory |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101854954B1 (ko) * | 2011-07-29 | 2018-05-04 | 샌디스크 테크놀로지스 엘엘씨 | 치환 소행렬의 합을 사용하는 체크섬 |
CN105579980A (zh) | 2013-09-27 | 2016-05-11 | 仁荷大学校产学协力团 | 基于ssd的raid系统中的校验数据的去重 |
US9268503B2 (en) | 2014-01-14 | 2016-02-23 | Compellent Technologies | I/O handling between virtualization and RAID storage |
US20170286216A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Energy efficient read/write support for a protected memory |
US10599517B2 (en) * | 2017-11-29 | 2020-03-24 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device |
-
2018
- 2018-04-28 US US15/965,883 patent/US10599517B2/en active Active
- 2018-07-04 TW TW107123091A patent/TWI677877B/zh active
- 2018-10-09 DE DE102018124836.9A patent/DE102018124836A1/de active Pending
- 2018-10-18 CN CN201811212360.2A patent/CN109840162B/zh active Active
- 2018-11-29 KR KR1020180150998A patent/KR102142602B1/ko active IP Right Grant
-
2020
- 2020-01-15 US US16/743,445 patent/US10970167B2/en active Active
-
2021
- 2021-04-05 US US17/222,919 patent/US11556414B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1155950A (zh) * | 1995-04-03 | 1997-07-30 | 松下电器产业株式会社 | 具有纠错码数据结构的数据传输系统、数据记录和再生成设备及记录介质 |
CN1492426A (zh) * | 1995-04-03 | 2004-04-28 | ���µ�����ҵ��ʽ���� | 数据传输系统、数据记录和再生成设备及记录介质 |
US20070061503A1 (en) * | 2005-08-23 | 2007-03-15 | Via Technologies, Inc. | Data arrangement and data arranging method in storage device |
CN102272841A (zh) * | 2009-01-09 | 2011-12-07 | 国际商业机器公司 | 磁带上多磁道记录的重写高效ecc/交错 |
CN105340022A (zh) * | 2013-06-24 | 2016-02-17 | 美光科技公司 | 用于校正数据错误的电路、设备及方法 |
US20160162359A1 (en) * | 2014-12-09 | 2016-06-09 | Marvell Israel (M.I.S.L) Ltd. | System and method for performing simultaneous read and write operations in a memory |
Also Published As
Publication number | Publication date |
---|---|
US11556414B2 (en) | 2023-01-17 |
US20200151057A1 (en) | 2020-05-14 |
US20190163568A1 (en) | 2019-05-30 |
TWI677877B (zh) | 2019-11-21 |
KR102142602B1 (ko) | 2020-08-10 |
DE102018124836A1 (de) | 2019-05-29 |
US10599517B2 (en) | 2020-03-24 |
CN109840162B (zh) | 2022-08-09 |
TW201926357A (zh) | 2019-07-01 |
KR20190063448A (ko) | 2019-06-07 |
US20210224154A1 (en) | 2021-07-22 |
US10970167B2 (en) | 2021-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105453049B (zh) | 使用纠错指针处置存储器中的错误 | |
CN109840162A (zh) | 存储器件及其操作方法 | |
CN105340022B (zh) | 用于校正数据错误的电路、设备及方法 | |
CN101685672B (zh) | 在多级单元闪存装置中使用的最低有效位页恢复方法 | |
CN104798047B (zh) | 错误检测和校正装置及方法 | |
CN103119569B (zh) | 基于存储条的非易失性多级存储器操作 | |
KR101730510B1 (ko) | 메타데이터 태그를 통한 불규칙적인 패리티 분포 검출 | |
US9223648B2 (en) | Memory storage device, memory controller thereof, and method for processing data thereof | |
CN108121669A (zh) | 存储器系统及其操作方法 | |
US7725646B2 (en) | Method of using a flash memory for a circular buffer | |
JP2014038593A (ja) | オンチップのnand型フラッシュメモリおよびその不良ブロック管理方法 | |
US9437327B2 (en) | Combined rank and linear address incrementing utility for computer memory test operations | |
CN109036488A (zh) | 存储器控制器、操作该存储器控制器的方法以及存储器系统 | |
CN103594120A (zh) | 以读代写的存储器纠错方法 | |
JP4460967B2 (ja) | メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法 | |
CN104658609B (zh) | 用于存储器系统的纠错码分布的方法和系统 | |
CN108121616A (zh) | 存储器电路、多端口存储器电路及其操作方法 | |
CN109215726A (zh) | 存储器测试方法及其存储器装置 | |
CN104681095B (zh) | 储存装置及其操作方法 | |
US9424176B2 (en) | Robust sector ID scheme for tracking dead sectors to automate search and copydown | |
CN103365737B (zh) | 数据读写方法、读写装置及数据存储系统 | |
CN107562655B (zh) | 一种数据存储方法和装置 | |
CN112289353A (zh) | 一种优化的具有ecc功能的mram系统及其操作方法 | |
CN111128289A (zh) | 扫描链技术以及利用扫描链结构的方法 | |
CN110119247A (zh) | 非易失性存储器 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |