CN110045920B - 存储器件及其操作方法 - Google Patents
存储器件及其操作方法 Download PDFInfo
- Publication number
- CN110045920B CN110045920B CN201811629083.5A CN201811629083A CN110045920B CN 110045920 B CN110045920 B CN 110045920B CN 201811629083 A CN201811629083 A CN 201811629083A CN 110045920 B CN110045920 B CN 110045920B
- Authority
- CN
- China
- Prior art keywords
- data words
- data
- sets
- memory
- memory device
- 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.)
- Active
Links
Images
Classifications
-
- 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/10—Programming or data input circuits
-
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- 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
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/08—Address circuits; Decoders; Word-line control circuits
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
一种存储器件的电路包括:将多个数据字写入到存储器件的相应位单元中,其中,每个数据字具有多个数据位;响应于确定并非多个数据字的所有数据位都被正确地写入到存储器件的相应位单元中,将多个数据字分组为多个数据字集;并且同时重写未被正确地写入到存储器件的相应位单元中的数据位的子集,其中,数据位的子集包含在多个数据字集的相应一个中。本发明的实施例还提供了存储器件的操作方法。
Description
技术领域
本发明的实施例一般地涉及半导体技术领域,更具体地,涉及存储器件及其操作方法。
背景技术
存储器件通常用在诸如计算机、手机、平板电脑、数据记录器和导航设备(仅举几个实例)的许多类型的电子设备中。通常,这种存储器件中,写入操作可用于将信息存储为数据位。在一些情况下,可以存在多个数据字,每个数据字包括多个数据位,其中,数据位配置为写入到存储器件的相应的存储器位单元。有时,相应的写入操作可能出现故障。例如,多个数据字中的一个或多个数据位可能未被正确地写入配置的存储器位单元。这种数据位通常称为故障数据位。
为了补救这种故障数据位,现有的存储器件中使用的技术通常依赖于一次或多次迭代以基于单个“字”的单元重写故障数据位。例如,包含在第一字中的故障数据位被重写到相应配置的存储器位单元中,包含在第二字中的故障数据位被重写到相应配置的存储器位单元中,依此类推,这浪费时间和功率。因此,现有的存储器件和存储数据位的方法并不完全令人满意。
发明内容
根据本发明的一方面,提供了一种用于操作存储器件的方法,包括:将多个数据字写入到存储器件的相应位单元中,其中,每个所述数据字具有多个数据位;响应于确定并非所述多个数据字的所有数据位都被正确地写入到所述存储器件的相应位单元中,将所述多个数据字分组为多个数据字集;以及同时重写未被正确地写入到所述存储器件的相应位单元中的数据位的子集,其中,所述数据位的子集包含在所述多个数据字集的相应一个中。
根据本发明的另一方面,提供了一种用于操作存储器件的方法,包括:将多个数据字写入存储器件的相应位单元,其中,每个数据字具有多个数据位;验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中;响应于存在未被正确地写入到所述存储器件的相应位单元中的所述多个数据字的一个或多个数据位,将所述多个数据字分组为多个数据字集;以及迭代地将包含在所述多个数据字集的相应一个中的一个或多个数据位的至少一个重写到所述存储器件的相应位单元中,直到所述多个数据字的所有数据位验证为被正确地写入到所述存储器件的相应位单元中。
根据本发明的又一方面,提供了一种存储器件,包括:多个存储器位单元;以及控制逻辑电路,连接至所述多个存储器位单元,并且配置为:将多个数据字写入到所述多个存储器位单元的相应存储器位单元中,其中,每个数据字具有多个数据位;验证所述多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中;响应于存在未被正确地写入到相应的存储器位单元中的所述多个数据字的一个或多个数据位,将所述多个数据字分组为多个数据字集;以及迭代地将包含在所述多个数据字集的相应一个中的所述一个或多个数据位的至少一个重写到相应的存储器位单元中,直到所述多个数据字的所有数据位验证为被正确地写入到相应的存储器位单元中。
附图说明
当结合附图进行阅读时,从以下详细描述可最佳地理解本发明的各个方面。应该注意,根据工业中的标准实践,各个部件未按比例绘制。实际上,为了清楚的讨论,各种部件的尺寸可以被任意增大或减小。
图1示出根据一些实施例的存储器件的示例性框图。
图2A示出根据一些实施例的图1的存储器件的部分的示例性示意图。
图2B示出根据一些实施例的图1的存储器件的另一部分的示例性示意图。
图3示出根据各个实施例的操作图1的存储器件的示例性方法的流程图。
图4示出根据一些实施例的用于实施图3的方法的计算机系统的框图。
具体实施方式
以下公开内容描述了各个示例性实施例以实现主题的不同特征。以下将描述组件和布置的具体实例以简化本发明。当然,这些仅仅是实例并不旨在限制本发明。例如,应该理解,当一个元件称为“连接至”或“耦合至”另一元件时,它可以直接连接至或耦合至其他元件,或可以存在一个或多个中间元件。
本发明提供了包括控制逻辑电路的存储器件的各个实施例,其中,该控制逻辑电路配置为基于数据字组的单元将一个或多个故障数据位重写到相应配置的存储器位单元。在一些实施例中,响应于确定在这种多个数据字内存在一个或多个故障数据位,控制逻辑电路可以启动对多个数据字的分组操作,其中,每个数据字包括多个数据位。例如,控制逻辑电路配置为将具有第一数量的数据字的多个数据字分组为多个数据字集,其中,多个数据字集具有第二数量的数据字集,其中,第二数量小于第一数量。根据一些实施例,控制逻辑电路迭代地检查每个数据字集是否包含任何故障数据位,并且如果是,则将故障数据位重写到配置的存储器位单元中。
在一些实施例中,通过基于数据字集的单元而不是每个单个字重写故障数据位,可以提供各种优势。例如,由于通常,与每个字的数据位的总数相比,故障数据位的数量相对较低(例如,大约在百万分之一(ppm)的范围内),重写分组在每个数据字集中的故障数据位,在时间和功率方面可以更有效。此外,由于更有效的重写操作,对于初始写入操作允许更大的容错容限。这样,可以显著地减小施加到所公开的存储器件的存储器位单元的初始写入信号的幅度,这可以有利地改善存储器位单元的相应耐久性。
图1示出根据本发明的各个实施例的示例性存储器件100的框图。如图所示,存储器件100包括控制逻辑电路102,多个存储器库104、106、108和110,以及缓冲器电路120。尽管如图1所示的实施例中所示,存储器件100包括四个存储器库104至110,但应当理解,存储器件100可包括任何所需数量的存储器库,同时仍然在本发明的范围内。
在一些实施例中,连接至存储器库104至110的控制逻辑电路102配置为通过标准化接口(未示出)接收多个数据字,其中,每个数据字包括多个数据位,并且将这样的多个数据字写入到存储器库104至110的相应存储器位单元中。此外,当接收多个数据字时,控制逻辑电路102还可以接收多个数据字的数据位的相应逻辑地址。基于该逻辑地址,控制逻辑电路102可以将多个数据字的每个数据位写入在整个存储器库104至110的相应存储器位单元(即,将多个数据字的数据位写入到相应的物理地址)。当一个或多个数据位未被正确地写入到这种配置的地址处的相应存储器位单元(下文中称为“故障数据位”)时,控制逻辑电路102可以实施分组操作以使用数据字组的单元将一个或多个故障数据位重写到相应的存储器位单元中,如下面将进一步详细讨论的。
在一些实施例中,缓冲器电路120(通常称为高速缓冲存储器)连接至控制逻辑电路102并且包括多个非易失性存储器单元(诸如,例如,闪存单元、硫属化物随机存取存储器(C-RAM)单元、相变RAM(PC-RAM或PRAM)单元、可编程金属化单元RAM(PMC-RAM或PMCm)单元、卵形统一存储器(OUM)单元、电阻式RAM(RRAM)单元、铁电式存储器(FeRAM)单元等)或易失性存储器单元(诸如,例如,静态RAM(SRAM)单元、动态RAM(DRAM)单元等)。缓冲器电路120的这种存储器单元可以形成为片上存储器单元(即,形成在与存储器库104-110相同的芯片上)或片外存储器单元(即,形成在与存储器库104-110不同的芯片上)。在一些实施例中,如下面将讨论的,控制逻辑电路102可以各种类型的数据存储在缓冲器电路120中(例如,上述故障数据位的映射)。
如上所述,存储器库104至110中的每个包括相应的多个存储器位单元。在一些实施例中,以列-行配置布置相应的多个存储器位单元,其中,在形成列的位线(BL)和形成行的字线(WL)的相应交叉点处设置每个存储器位单元。此外,存储器库104至110中的每个包括相应的行选择电路、列选择电路和写入驱动器。图2A和图2B示出根据一些实施例的存储器库104至110的相应示意图。
参考图2A,分别示出存储器库104和106的示意图。存储器库104包括形成为阵列104A的存储器位单元104-1、104-2、104-3、104-4、104-5、104-6、104-7、104-8、104-9、104-10、104-11、104-12、104-13、104-14、104-15和104-16,行选择电路(通常称为行多路复用器电路)104RM、列选择电路(通常称为列多路复用器电路)104CM,以及写入驱动器电路104WD。如下所述,行选择电路104RM和列选择电路104CM中的每个包括通过相应的BL或WL连接至相应的存储器位单元的多个组件。尽管在图2A所示的实施例中,存储器库104具有16个存储器位单元,但是存储器库104的存储阵列104A可具有任何所需数量的存储器位单元,同时仍在本发明的范围内。此外,应当理解,图2A仅示出示例性实施例,并且存储器库102可以利用本领域中已知的其他存储器电路(例如,感测放大器、预充电电路等),同时保持在本发明的范围内。
如图所示,在沿第一列布置的BL 130和沿第一行布置的WL 138的交叉点处设置存储器位单元104-1,在沿第二列布置的BL 132和沿第一行布置的WL 138的交叉点处设置存储器位单元104-2,在沿第三列布置的BL 134和沿第一行布置的WL 138的交叉点处设置存储器位单元104-3,在沿第四列布置的BL 136和沿第一行布置的WL 138的交叉点处设置存储器位单元104-4,在沿第一列布置的BL 130和沿第二行布置的WL 140的交叉点处设置存储器位单元104-5,在沿第二列布置的BL 132和沿第二行布置的WL 140的交叉点处设置存储器位单元104-6,在沿第三列布置的BL 134和沿第二行布置的WL 140的交叉点处设置存储器位单元104-7,在沿第四列布置的BL 136和沿第二行布置的WL 140的交叉点处设置存储器位单元104-8,在沿第一列布置的BL 130和沿第三行布置的WL 142的交叉点处设置存储器位单元104-9,在沿第二列布置的BL 132和沿第三行布置的WL 142的交叉点处设置存储器位单元104-10,在沿第三列布置的BL 134和沿第三行布置的WL 142的交叉点处设置存储器位单元104-11,在沿第四列布置的BL 136和沿第三行布置的WL 142的交叉点处设置存储器位单元104-12,在沿第一列布置的BL 130和沿第四行布置的WL 144的交叉点处设置存储器位单元104-13,在沿第二列布置的BL 132和沿第四行布置的WL 144的交叉点处设置存储器位单元104-14,在沿第三列布置的BL 134和沿第四行布置的WL 144的交叉点处设置存储器位单元104-15,在沿第四列布置的BL 136和沿第四行布置的WL 144的交叉点处设置存储器位单元104-16。
沿着存储器阵列104A的第一行,存储器位单元104-1至104-4通过WL 138连接至行选择电路104RM的第一组件104RM-1;沿着存储器阵列104A的第二行,存储器位单元104-5至104-8通过WL 140连接至行选择电路104RM的第二组件104RM-2;沿着存储器阵列104A的第三行,存储器位单元104-9至104-12通过WL 142连接至行选择电路104RM的第三组件104RM-3;并且沿着存储器阵列104A的第四行,存储器位单元104-13至104-16通过WL 144连接至行选择电路104RM的第四组件104RM-4。在一些实施例中,可以由本领域中已知的配置为基于控制信号允许信号从中通过的各种传输门晶体管中的任何一个(例如,门控闩锁、传输门等)来实现组件104RM-1至104RM-4中的每个。
沿着存储器阵列104A的第一列,存储器位单元104-1、104-5、104-9和104-13通过BL 130连接至列选择电路104CM的第一组件104CM-1;沿着存储器阵列104A的第二列,存储器位单元104-2、104-6、104-10和104-14通过BL 132连接至列选择电路104CM的第二组件104CM-2;沿着存储器阵列104A的第三列,存储器位单元104-3、104-7、104-11和104-15通过BL 134连接至列选择电路104CM的第三组件104CM-3;以及沿着存储器阵列104A的第四列,存储器位单元104-4、104-8、104-12和104-16通过BL 136连接至列选择电路104CM的第四组件104CM-4。类似地,在一些实施例中,可以由配置为基于控制信号允许信号从中通过的各种传输门晶体管中的任何一种(例如,门控闩锁、传输门等)实现组件104CM-1至104CM-4中的每个。
沿着列方向,存储器位单元还通过相应的BL连接至写入驱动器电路104WD。例如,沿着存储器阵列104A的第一列,存储器位单元104-1、104-5、104-9和104-13通过BL 130连接至写入驱动器电路104WD;沿着存储器阵列104A的第二列,存储器位单元104-2、104-6、104-10和104-14通过BL 132连接至写入驱动器电路104WD;沿着存储器阵列104A的第三列,存储器位单元104-3、104-7、104-11和104-15通过BL 134连接至写入驱动器电路104WD;并且沿着存储器阵列104A的第四列,存储器位单元104-4、104-8、104-12和104-16通过BL 136连接至写入驱动器电路104WD。在一些实施例中,可以通过本领域中已知的配置为向有效的BL(asserted BL)提供写入信号(例如,电压信号)的多个逻辑门和/或晶体管的组合来实现写入驱动器电路104WD。
类似于存储器库102的配置,存储器库106包括形成为阵列106A的存储器位单元106-1、106-2、106-3、106-4、106-5、106-6、106-7、106-8、106-9、106-10、106-11、106-12、106-13、106-14、106-15和106-16,行选择电路106RM,列选择电路106CM和写入驱动器电路106WD,其中,每个存储器位单元设置在BL和WL(例如,BL 146、148、150和152中的一个和WL154、156、158和160中的一个)的交叉点处。此外,行选择电路106RM还包括四个组件106RM-1、106RM-2、106RM-3和106RM-4,其中,每个组件通过相应的WL连接至存储器阵列106A的相应存储器位单元;并且列选择电路106CM还包括四个组件106CM-1、106CM-2、106CM-3和106CM-4,其中,每个组件通过相应的BL连接至存储器阵列106A的相应存储器位单元。行选择电路106RM和列选择电路106CM以及写入驱动器电路106WD分别大致类似于上述行选择电路104RM、列选择电路104CM和写入驱动器电路104WD,因此不再重复对行选择电路106RM、列选择电路106CM和写入驱动器电路106WD的描述。
参考图2B,存储器库108和110均大致类似于存储器库104和106(图2A)。因此,存储器库108和110简要描述如下。例如,存储器库108包括形成为阵列108A的存储器位单元108-1、108-2、108-3、108-4、108-5、108-6、108-7、108-8、108-9、108-10、108-11、108-12、108-13、108-14、108-15和108-16,行选择电路108RM,列选择电路108CM和写入驱动器电路108WD,其中,每个存储器位单元设置在BL和WL(例如,BL 162、164、166和168中的一个以及WL 170、172、174和176中的一个)的交叉点处;以及存储器库110包括形成为阵列110A的存储器位单元110-1、110-2、110-3、110-4、110-5、110-6、110-7、110-8、110-9、110-10、110-11、110-12、110-13、110-14、110-15和110-16,其中,每个存储器位单元设置在BL和WL(例如BL 178、180、182和184以及WL 186、188、190和192中的一个)的交叉点处。此外,在存储器库108中,行选择电路108RM还包括四个组件108RM-1、108RM-2、108RM-3和108RM-4,其中,每个组件均大致类似于行选择电路104RM(图2A)的上述组件;以及列选择电路108CM还包括四个组件108CM-1、108CM-2、108CM-3和108CM-4,其中,每个组件均大致类似于列选择电路104CM(图2A)的上述组件。在存储器库110中,行选择电路110RM还包括四个组件110RM-1、110RM-2、110RM-3和110RM-4,其中,每个组件均大致类似于行选择电路104RM(图2A)的上述组件;以及列选择电路110CM还包括四个组件110CM-1、110CM-2、110CM-3和110CM-4,其中,每个组件均大致类似于列选择电路104CM(图2A)的上述组件。
如上所述,根据一些实施例,行选择电路104RM、106RM、108RM和110RM中的每个组件配置为基于控制信号允许信号从中通过。更具体地,行选择电路104RM、106RM、108RM和110RM的每个组件配置为通过基于地址信息允许信号从中通过而使连接的WL中的至少一个,其中,由控制逻辑电路102提供的控制信号来指示该地址信息。类似地,列选择电路104CM、106CM、108CM和110CM的每个组件配置为基于上述地址信息而使连接的BL中的至少一个有效。
在一些实施例中,这样的地址信息可以包括分别使WL 138至144、154至160、170至176以及186至192中的哪一个以及BL 130至136、146至152、162至168和178至184中的哪一个有效。因此,行选择电路104RM可以使WL 138至144中的一个有效,以通过激活相应的组件(例如,组件104RM-1至104RM-4中的一个)允许访问(例如,读取或写入)沿着有效的WL设置的存储器阵列104A的存储器位单元;行选择电路106RM可以使WL 154至160中的一个有效,以通过激活相应的组件(例如,组件106RM-1至106RM-4中的一个)允许访问(例如,读取或写入)沿着有效的WL设置的存储器阵列106A的存储器位单元;行选择电路108RM可以使WL 170至176中的一个有效,以通过激活相应的组件(例如,组件108RM-1至108RM-4中的一个)允许访问(例如,读取或写入)沿着有效的WL设置的存储器阵列108A的存储器位单元;并且行选择电路110RM可以使WL 186至192中的一个有效,以通过激活相应的组件(例如,组件110RM-1至110RM-4中的一个)允许访问(例如,读取或写入)沿着有效的WL设置的存储器阵列110A的存储器位单元。
而且,列选择电路104CM可以使BL 130至136中的一个有效,以通过激活相应的组件(例如,组件104CM-1至104CM-4中的一个)允许访问(例如,读取或写入)沿着有效的BL设置的存储器阵列104A的存储器位单元;列选择电路106CM可以使BL 146至152中的一个有效,以通过激活相应的组件(例如,组件106CM-1至106CM-4中的一个)允许访问(例如,读取或写入)沿着有效的BL设置的存储器阵列106A的存储器位单元;列选择电路108CM可以使BL162至168中的一个有效,以通过激活相应的组件(例如,组件108CM-1至108CM-4中的一个)允许访问(例如,读取或写入)沿着有效的BL设置的存储器阵列108A的存储器位单元;并且列选择电路110RM(110CM)可以使BL178至184中的一个有效,以通过激活相应的组件(例如,组件110CM-1至110CM-4中的一个)允许访问(例如,读取或写入)沿着有效的BL设置的存储器阵列110A的存储器位单元。
图3示出根据各个实施例的基于数据字组的单元将一个或多个故障数据位重写到相应配置的存储器位单元的示例性方法的流程图。在各个实施例中,通过图1-图2B中所示的相应组件实施方法300的操作。为了讨论的目的,将结合图1-图2B描述方法300的以下实施例。方法300的所示实施例仅仅是一个实例。因此,应当理解,可以省略、重新排序和/或添加各种操作中的任何操作,同时保持在本发明的范围内。
从操作302开始方法300,其中,将第一多个数据字写入相应的存储器位单元,其中,每个数据字包括多个数据位。在一些实施例中,数据字的数据位的相应数量可以彼此相等或不同。
例如,控制逻辑电路102可以接收5个数据字:第一数据字、第二数据字、第三数据字、第四数据字、第五数据字,其中,每个数据字均具有多个数据位(例如,为了简明,4个数据位)。此外,如上所述,当控制逻辑电路102接收5个数据字时,5个数据字的每个数据位可以与映射到存储器阵列104A-110A的一个存储器位单元的物理地址(即,在BL和WL的哪个交叉点处)的相应逻辑地址相关联。然后,控制逻辑电路102使用相应的逻辑地址将5个数据字的数据位写入到存储器位单元中。
更具体地,第一数据字的4个数据位可以分别配置为写入到存储器阵列104A的存储器位单元104-1、104-2、104-3和104-4(如图2A所示)中;第二数据字的4个数据位可以分别配置为写入到存储器阵列108A的存储器位单元108-5、108-6、108-7和108-8(如图2B所示)中;第三数据字的4个数据位可以分别配置为写入到存储器阵列108A的存储器位单元108-9、108-10、108-11和108-12(如图2B所示)中;第四数据字的4个数据位可以分别配置为写入到存储器阵列110的存储器位单元110-9、110-10、110-11和110-12(如图2B所示)中;第五数据字的4个数据位可以分别配置为写入到存储器阵列110的存储器位单元110-13、110-14、110-15和110-16(如图2B所示)中。
因此,控制逻辑电路102可以使行选择电路104RM激活组件104RM-1以使WL 138有效,并且使列选择电路104CM分别或共同激活组件104CM-1至104CM-4,以使BL 130至136有效,从而使得第一数据字的数据位可以分别写入到存储器位单元104-1至104-4中。类似地,控制逻辑电路102可以使行选择电路108RM激活组件108RM-2以使WL 172有效,并且使列选择电路108CM分别或共同激活组件108CM-1至108CM-4,以使BL 162至168有效,从而使得第二数据字的数据位可以分别写入到存储器位单元108-5至108-8中;控制逻辑电路102可以使行选择电路108RM激活组件108RM-3以使WL 174有效,并且使列选择电路108CM分别或共同激活组件108CM-1至108CM-4,以使BL 162至168有效,从而使得第三数据字的数据位可以分别写入到存储器位单元108-9至108-12中;控制逻辑电路102可以使行选择电路110RM激活组件110RM-3以使WL190有效,并且使列选择电路110CM分别或共同激活组件110CM-1至110CM-4,以使BL 178至184有效,从而使得第四数据字的数据位可以分别写入到存储器位单元110-9至110-12中;控制逻辑电路102可以使行选择电路110RM激活组件110RM-4以使WL192有效,并且使列选择电路110CM分别或共同激活组件110CM-1至110CM-4,以使BL 178至184有效,从而使得第5数据字的数据位可以分别写入到存储器位单元110-13至110-16中。
方法300继续至操作304以确定第一多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中。继续上面的实例,在将第1至第5数据字的所有数据位写入到相应配置的存储器位单元中之后,控制逻辑电路102可以遵循与上述相同的操作以使写入有第1至第5数据字的存储器位单元的相应WL和BL有效,并且使用一个或多个连接的感测放大器(未示出)来读出写入的数据位。此外,在一些实施例中,控制逻辑电路102可以将控制逻辑电路102预期写入到存储器位单元中的第1至第5数据字的数据位的相应逻辑状态(即,在操作302中控制逻辑电路102接收的第1至第5数据字的数据位的相应逻辑状态)与从存储器位单元读出的逻辑状态进行比较。在一些实施例中,当第1至第5数据字的数据位的所有读出逻辑状态与相应的预期逻辑状态匹配时(即,第一多个数据字的所有数据位被正确地写入到相应的存储器位单元中),方法300进行至操作306,其中,写入操作结束。
另一方面,当第1至第5数据字的一个或多个数据位的读出逻辑状态与相应预期的逻辑状态不匹配时,控制逻辑电路102可以对这些数据位分类为如上所述的故障数据位。在这种情况下(即,并非第一多个数据字的所有数据位都没有被正确地写入到相应的存储器位单元中),方法300进行至操作308,其中,将这种故障数据位的信息记录到缓冲器电路中。在一些实施例中,上述故障数据位的信息可包括每个故障数据位属于哪个数据字以及这些故障数据位的映射。映射可以包括将每个故障数据位配置为写入的位置(即,哪个物理地址)。
继续上述实例,在操作304中实施比较之后,控制逻辑电路102可以确定第1数据字的第3数据位,第2数据字的第3数据位,第3数据字的第3数据位,第4数据字的第1个数据位是故障数据位。换言之,除了第5数据字之外,每个数据字具有一个故障数据位,因此,控制逻辑电路102将指示5个数据字中的哪个具有故障数据位的信息记录到缓冲器电路120中。在识别出故障数据位之后或同时,控制逻辑电路102还可以记录存储器位单元的相应物理地址,其中,在该物理地址处将故障数据位写入到缓冲器电路120中。例如,控制逻辑电路102可以记录第1数据字的第3数据位被写入至存储器位单元104-3,其中,存储器位单元104-3位于存储器阵列104A的第三列(BL 134)和第一行(WL 138)的交叉点处;第2数据字的第3数据位被写入至存储器位单元108-7,其中,存储器位单元108-7位于存储器阵列108A的第三列(BL 166)和第二行(WL 172)的交叉点处;第3数据字的第3数据位被写入至存储器位单元108-11,其中,存储器位单元108-11位于存储器阵列108A的第三列(BL 166)和第三行(WL 174)的交叉点处;以及第4数据字的第1数据位被写入至存储器位单元110-9,其中,存储器位单元110-9位于存储器阵列110A的第一列(BL178)和第三行(WL 190)的交叉点处。
再次参考图3,在确定不是第一多个数据字的所有数据位都被正确地写入到相应的存储器位单元中并记录故障数据位的相应信息(操作304和308)之后,方法300继续至操作310,其中,将第一多个数据字分组为第二多个数据字集。如果第一多个数据字的数量可以被大小整除而没有余数,则每个数据字集可以具有相等数量的数据字。另一方面,如果第一多个数据字的数量不能被大小整除而具有余数,则除了最后字集之外的每个数据字集可以具有相等数量的数据字。
继续上述实例,控制逻辑电路102可以将数据字集的大小确定为2,这反映了上面讨论的后一种情况。这样,控制逻辑电路102可以将第一和第二数据字分组为第一数据字集;第3和第4数据字作为第二数据字集;第五个数据字作为第三字集。在一些实施例中,控制逻辑电路102可以在相应的顺序之后重写每个数据字集中的故障数据位,即,重写第一数据字集、第二数据字集、并且然后第三数据字集,将在下面进一步详细讨论。这样,第三数据字集可以被视为多个数据字集的最后数据字集。然而,应当理解,控制逻辑电路102可以不遵循该顺序来重写故障数据位,同时保持在本发明的范围内。
在一些可选实施例中,在确定数据字集的大小时,控制逻辑电路102可以将具有故障数据位的数据字分组为相同的或第一数据字集,并且优先重写包含在这样的第一数据字集中的故障数据位。在第1至第5数据字中,仅第1和第4数据字具有故障数据位的实例中,控制逻辑电路102可以将第1和第4数据字分组为第一数据字集;将没有任何故障数据位的第2和第3数据字分组为第二数据字集;以及将没有任何故障数据位的第五数据字分组为第三数据字集。并且,控制逻辑电路102可以优先重写包含第一数据字集中的故障数据位。
方法300继续至操作312,其中,选择第一数据字集。在一些实施例中,在对第一多个数据字进行分组之后,如上所述,控制逻辑电路102可以首先按其顺序选择数据字集。在上述实例中,控制逻辑电路102可以选择包括第1和第2数据字的第一数据字集。
方法300继续至操作314以确定所选数据字集是否包含任何故障数据位。继续上述实例,控制逻辑电路102可以通过访问缓冲器电路120来确定所选数据字集(例如,包括第1和第2数据字的第一数据字集),因为在操作308中,控制逻辑电路102将所有故障数据位的信息存储在缓冲器电路120中。
根据一些实施例,在确定操作314中,如果所选数据字集包含一个或多个故障数据位,则方法300进行至操作316,其中,包含在所选数据字集中的故障数据位分别被重写到相应配置的存储器位单元中,并且然后至操作318,以进一步确定所选择的数据字集是否是第二多个数据字集的最后数据字集。如果所选择的数据字集是第二多个数据字集中的最后一个,则方法300再次进行至操作304,以确定第一多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中。或者,如果所选数据字集不是第二多个数据字集中的最后一个,则方法300进行至操作320,其中选择下一个数据字集,并且然后循环返回至操作314。
另一方面,在确定操作314中,如果所选择的数据字集不包含任何故障数据位,则方法300跳过操作316并直接进行至操作318以进一步确定所选择的数据字集是否是第二多个数据字集的最后数据字集。类似地,如果所选择的数据字集是第二多个数据字集中的最后一个,则方法300再次进行至操作304,以确定第一多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中。或者,如果所选数据字集不是第二多个数据字集中的最后一个,则方法300进行至操作320,其中,选择下一个数据字集,并且然后循环返回至操作314。
这样,可以在实施方法300时形成一个或多个迭代循环,例如,第一迭代循环从操作314开始,经过操作316、318和320,并返回至操作314;第二迭代循环从操作314开始,经过操作316、318、304、308、310和312,并返回至操作314;第三迭代循环从操作314开始,经过操作318和320,并返回至操作314;第四迭代循环从操作314开始,经过操作318、304、308、310和312,并返回至操作314。操作316、318和320将分别在下面进一步详细描述。
在选择包括第1和第2数据字的第一数据字集的上述实例中(操作312),由于第1和第2数据字都具有至少一个故障数据位(操作314),在操作316中,根据一些实施例,控制逻辑电路102可以同时将分别包括在第1和第2数据字中但现在一起分组在第一数据字集中的故障数据位重写到相应配置的存储器位单元中。更具体地,第1数据字具有写入至存储器阵列104A的存储器位单元104-3中的一个故障数据位,并且第2数据字具有写入至存储器阵列108A的存储器位单元108-4中的一个故障数据位。在一些实施例中,控制逻辑电路102可以通过激活组件104RM-1使WL 138有效以允许访问存储器位单元104-3,并且通过激活组件108RM-2使WL 172有效以允许访问存储器位单元108-7。同时或后续地,控制逻辑电路102通过激活组件104CM-3使BL 134有效,以使写入驱动器电路104WD将第1数据字的第3数据位的预期逻辑状态重写至存储器位单元104-3中,并且通过激活组件108CM-3使BL 166有效,以使写入驱动器电路108WD将第3数据字的第3数据位的预期逻辑状态重写至存储器位单元108-7中。
在操作318处,控制逻辑电路102检查包括第1和第2数据字的所选择的第一数据字集是否是多个数据字集中的最后一个。在当前实例中,最后一个数据字集应该是包括第5数据字的第三数据字集,因此方法300进行至操作320以选择下一个数据字集,其中,下一个数据字集是包括第3和第4数据字的第二数据字集。然后,方法300循环回到操作314,以确定第二数据字集是否包括任何故障数据位。由于第3和第4数据字都具有至少一个故障数据位(如上所述),所以控制逻辑电路102可以遵循上述原理,以同时将分别包括在第3和第4数据字中但现在一起分组在第二数据字集中的故障数据位重写至相应配置的存储器位单元108-11和110-9,并且检查包括第3和第4数据字的所选第二数据字集是否是多个数据字集中的最后一个。在当前实例中,第二数据字集仍然不是最后的数据字集,因此方法300进行到操作320以选择下一个数据字集,第三数据字集包括第5数据字,并且然后循环返回至操作314。由于第三数据字集不包含任何故障数据位,因此方法300直接进行至操作318,并且由于第三数据字集是最后数据字集(如在操作318中确定的),然后,方法300再次进行至操作304,以确定第1至第5数据字的所有数据位是否被正确地写入到相应配置的存储器位单元。类似地,如果第1至第5数据字的所有数据位被正确地写入到相应配置的存储器位单元中,则写入操作结束(操作306);并且如果仍然存在一个或多个故障数据位,则在操作308-312之后将重写这种故障数据位,并且选择性地遵循操作314、316、318、320和314的迭代循环,操作314、318、320和314的迭代循环,或操作314、316、318、304、308、310、312和314的迭代循环。
图4是根据一些实施例的计算机系统400的框图。在一些实施例中,通过图4的一个或多个计算机系统400实现相对于图1-图3描述的电路和/或引擎和/或系统和/或操作中的一个或多个。系统400包括通过总线404或其他互连通信机制通信连接的至少一个处理器401、内存402、网络界面(I/F)406、输入/输出(I/O)器件408和存储器410。
在一些实施例中,内存402包括连接至总线404的随机存取存储器(RAM)和/或其他动态存储器件和/或只读存储器(ROM)和/或其他静态存储器,从而用于存储数据和/或由处理器401执行的指令。内存402还可以包括用户空间412、内核414、内核和/或用户空间的部分及它们的组件。在一些实施例中,内存402也用于存储在执行由处理器401执行的指令期间的临时变量或其他中间信息。在各个实施例中,内存402可以包括在单个集成电路内或者包括多个彼此可操作地连接的分立存储器件。
在一些实施例中,诸如磁盘或光盘的存储设备410连接至总线404,从而用于存储数据和/或指令。I/O器件408包括用于使用户能够与系统400交互的输入器件、输出器件和/或组合的输入/输出器件。例如,输入器件包括用于将信息和命令传送至处理器401的键盘、小键盘、鼠标、轨迹球、触控板和/或光标方向键。例如,输出器件包括用于将信息传送给用户的显示器、打印机、语音合成器。
在一些实施例中,通过处理器401实现相对于图1-图3描述的电路和/或引擎和/或系统的一个或多个操作和/或功能,处理器401被设置为用于实施这样的操作和/或功能。在一些实施例中,处理器401配置为特定配置的硬件(例如,一个或多个专用集成电路(ASIC))。根据各个实施例,可以在单个集成电路(IC)内或者作为多个通信连接的IC和/或分立电路来实现处理器401。应当理解,可以根据各种已知技术来实现处理器401。在一个实施例中,例如,处理器401包括一个或多个电路或单元,其中,该一个或多个电路或单元可配置为通过执行存储在相关存储器中的指令来实施本文所述的一个或多个功能或工艺。在其他实施例中,处理器401可以实现为固件(例如,离散逻辑组件),其中,固件配置为实施本文所述的一个或多个功能或工艺。例如,根据各个实施例,处理器401可以包括一个或多个控制器、微处理器、微控制器、专用集成电路(ASIC)、数字信号处理器、可编程逻辑器件、现场可编程门阵列或这些器件或结构的任何组合或其他已知的器件和结构,以实施本文所述的功能。
内存402、I/F 406、存储器410、I/O器件408和总线404中的一个或多个是可操作地接收指令、数据、设计约束、设计规则、网络表、布局、模型和/或其他参数,从而用于通过处理器401进行处理。
在一些实施例中,操作和/或功能实现为存储在非暂时性计算机可读记录介质中的程序的功能。在至少一个实施例中,操作和/或功能实现为存储在内存402中的诸如可执行指令集的程序的功能。在至少一个实施例中,IC设计存储在非暂时性计算机可读记录介质中,从而用于通过如本文所述的一个或多个操作进行访问。非暂时性计算机可读记录介质的实例包括:但不限于外部/可去除和/或内部/机内的储存或存储单元,例如,光盘(诸如DVD)、磁盘(诸如硬盘)、半导体存储器(诸如ROM、RAM、存储卡等)中的一种或多种。
在实施例中,一种方法包括:将多个数据字写入到存储器件的相应位单元中,其中,每个数据字具有多个数据位;响应于确定并非多个数据字的所有数据位都被正确地写入到存储器件的相应位单元,将多个数据字分组为多个数据字集;并且同时重写未被正确地写入到存储器件的相应位单元中的数据位的子集,其中,数据位的子集包含在多个数据字集中的相应一个中。
在实施例中,所述多个数据字集中的至少一个子集具有共同数量的数据字。
在实施例中,所述多个数据字集中的至少一个子集具有各自不同数量的数据字。
在实施例中,方法还包括:将与未被正确地写入到所述存储器件的相应位单元中的数据位相关联的相应地址存储到所述存储器件的一个或多个缓冲器中。
在实施例中,方法还包括:访问所述一个或多个缓冲器以确定所述多个数据字集中的第一个是否包括未被正确地写入到所述存储器件的相应位单元中的任何数据位。
在实施例中,方法还包括:响应于所述多个数据字集中的第一个包括未被正确地写入到所述存储器件的相应位单元中的数据位的第一子集,将所述数据位的第一子集重写到所述存储器件的相应位单元中,并且然后确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个;以及响应于所述多个数据字集中的第一个不包括未被正确地写入到所述存储器件的相应位单元中的数据位,确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个。
在实施例中,方法还包括:响应于所述多个数据字集中的第一个不是所述多个数据字集中的最后一个,确定所述多个数据字集中的第二个是否包括未被正确地写入到所述存储器件的相应位单元中的任何数据位,并且作为响应,选择性地将包含在所述多个数据字集的第二个中的数据位的第二子集重写到所述存储器件的相应位单元中;以及响应于所述多个数据字集中的第一个是所述多个数据字集中的最后一个,验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中。在另一实施例中,一种方法包括:将多个数据字写入到存储器件的相应位单元中,其中,每个数据字具有多个数据位;验证多个数据字的所有数据位是否被正确地写入到存储器件的相应位单元中;响应于存在未被正确地写入到存储器件的相应位单元中的多个数据字的一个或多个数据位,将多个数据字分组为多个数据字集;并且迭代地将包含在多个数据字集中的相应一个数据字集中的一个或多个数据位的至少一个重写到存储器件的相应位单元中,直到多个数据字的所有数据位验证为被正确地写入到存储器件的相应位单元中。
在实施例中,所述多个数据字集中的至少一个子集具有共同数量的数据字。
在实施例中,所述多个数据字集中的至少一个子集具有各自不同数量的数据字。
在实施例中,方法还包括:将与未被正确地写入到所述存储器件的相应位单元中的一个或多个数据位相关联的相应地址存储到所述存储器件的一个或多个缓冲器中。
在实施例中,方法还包括:访问所述一个或多个缓冲器以确定所述多个数据字集中的第一个是否包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的任何一个。
在实施例中,方法还包括:当所述多个数据字集中的第一个包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的至少第一个时,将所述一个或多个数据位中的至少第一个重写到所述存储器件的相应位单元中;以及确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个。
在实施例中,方法还包括:当所述多个数据字集中的第一个不是所述多个数据字集中的最后一个时,迭代地确定所述多个数据字集中的下一个是否包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的任何一个,并且作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位中的至少一个重写到所述存储器件的相应位单元中,直到所述多个数据字集的下一个是所述多个数据字集中的最后一个;以及再次验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中。
在实施例中,方法还包括:当所述多个数据字集中的第一个确实包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位的任何一个时,确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个。
在实施例中,方法还包括:当所述多个数据字集中的第一个不是所述多个数据字集中的最后一个时,迭代地确定所述多个数据字集中的下一个是否包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的任何一个,并且作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位的至少一个重写到所述存储器件的相应位单元中,直到所述多个数据字集中的下一个是所述多个数据字集的最后一个;以及再次验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中;
在又一实施例中,一种存储器件包括:多个存储器位单元;和控制逻辑电路,连接至多个存储器位单元。控制逻辑电路配置为:将多个数据字写入到多个存储器位单元中的相应存储器位单元中,其中,每个数据字具有多个数据位;验证多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中;响应于存在未被正确地写入到相应的存储器位单元的多个数据字的一个或多个数据位,将多个数据字分组为多个数据字集;以及迭代地将包含在多个数据字集的相应一个数据字集中的一个或多个数据位的至少一个重写到相应的存储器位单元中,直到验证多个数据字的所有数据位被正确地写入到相应的存储器位单元中。
在实施例中,所述控制逻辑电路还配置为:确定所述多个数据字集的第一个是否包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个。
在实施例中,当所述多个数据字集中的第一个包括未被正确地写入到相应存储器位单元中的所述一个或多个数据位的至少第一个时,所述控制逻辑电路进一步配置为:将所述一个或多个数据位中的至少第一个重写到所述相应的存储器位单元中;以及确定所述多个数据字集的第一个是否是所述多个数据字集的最后一个。
在实施例中,当所述多个数据字集的第一个不是所述多个数据字集的最后一个时,所述控制逻辑电路还配置为:迭代地确定所述多个数据字集的下一个是否包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个,并且作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位中的至少一个重写到相应的存储器位单元中,直到所述多个数据字集的下一个是所述多个数据字集的最后一个;以及再次验证所述多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中。
在实施例中,当所述多个数据字集的第一个确实包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个时,所述控制逻辑电路进一步配置为:确定所述多个数据字集的第一个是否是所述多个数据字集的最后一个,当所述多个数据字集的第一个不是所述多个数据字集的最后一个时,迭代地确定所述多个数据字集的下一个是否包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个,作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位的至少一个重写到相应的存储器位单元中,直到所述多个数据字集的下一个是所述多个数据字集的最后一个,并且再次验证所述多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中。
上面概述了若干实施例的特征,使得本领域技术人员可以更好地理解本发明的各方面。本领域技术人员应该理解,他们可以容易地使用本发明作为基础来设计或修改用于实施与在此所介绍实施例相同的目的和/或实现相同优势的其他工艺和结构。本领域技术人员也应该意识到,这种等同构造并不背离本发明的精神和范围,并且在不背离本发明的精神和范围的情况下,在此他们可以做出多种变化、替换以及改变。
Claims (21)
1.一种用于操作存储器件的方法,包括:
将多个数据字写入到存储器件的相应位单元中,其中,每个所述数据字具有多个数据位;
响应于确定并非所述多个数据字的所有数据位都被正确地写入到所述存储器件的相应位单元中,将所述多个数据字分组为多个数据字集;以及
同时重写未被正确地写入到所述存储器件的相应位单元中的数据位的子集,其中,所述数据位的子集包含在所述多个数据字集的相应一个中。
2.根据权利要求1所述的方法,其中,所述多个数据字集中的至少一个子集具有共同数量的数据字。
3.根据权利要求1所述的方法,其中,所述多个数据字集中的至少一个子集具有各自不同数量的数据字。
4.根据权利要求1所述的方法,还包括:
将与未被正确地写入到所述存储器件的相应位单元中的数据位相关联的相应地址存储到所述存储器件的一个或多个缓冲器中。
5.根据权利要求4所述的方法,还包括:
访问所述一个或多个缓冲器以确定所述多个数据字集中的第一个是否包括未被正确地写入到所述存储器件的相应位单元中的任何数据位。
6.根据权利要求5所述的方法,还包括:
响应于所述多个数据字集中的第一个包括未被正确地写入到所述存储器件的相应位单元中的数据位的第一子集,将所述数据位的第一子集重写到所述存储器件的相应位单元中,并且然后确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个;以及
响应于所述多个数据字集中的第一个不包括未被正确地写入到所述存储器件的相应位单元中的数据位,确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个。
7.根据权利要求6所述的方法,还包括:
响应于所述多个数据字集中的第一个不是所述多个数据字集中的最后一个,确定所述多个数据字集中的第二个是否包括未被正确地写入到所述存储器件的相应位单元中的任何数据位,并且作为响应,选择性地将包含在所述多个数据字集的第二个中的数据位的第二子集重写到所述存储器件的相应位单元中;以及
响应于所述多个数据字集中的第一个是所述多个数据字集中的最后一个,验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中。
8.一种用于操作存储器件的方法,包括:
将多个数据字写入存储器件的相应位单元,其中,每个数据字具有多个数据位;
验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中;
响应于存在未被正确地写入到所述存储器件的相应位单元中的所述多个数据字的一个或多个数据位,将所述多个数据字分组为多个数据字集;以及
迭代地将包含在所述多个数据字集的相应一个中的一个或多个数据位的至少一个重写到所述存储器件的相应位单元中,直到所述多个数据字的所有数据位验证为被正确地写入到所述存储器件的相应位单元中。
9.根据权利要求8所述的方法,其中,所述多个数据字集中的至少一个子集具有共同数量的数据字。
10.根据权利要求8所述的方法,其中,所述多个数据字集中的至少一个子集具有各自不同数量的数据字。
11.根据权利要求8所述的方法,还包括:
将与未被正确地写入到所述存储器件的相应位单元中的一个或多个数据位相关联的相应地址存储到所述存储器件的一个或多个缓冲器中。
12.根据权利要求11所述的方法,还包括:
访问所述一个或多个缓冲器以确定所述多个数据字集中的第一个是否包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的任何一个。
13.根据权利要求12所述的方法,还包括:
当所述多个数据字集中的第一个包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的至少第一个时,将所述一个或多个数据位中的至少第一个重写到所述存储器件的相应位单元中;以及
确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个。
14.根据权利要求13所述的方法,还包括:
当所述多个数据字集中的第一个不是所述多个数据字集中的最后一个时,迭代地确定所述多个数据字集中的下一个是否包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的任何一个,并且作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位中的至少一个重写到所述存储器件的相应位单元中,直到所述多个数据字集的下一个是所述多个数据字集中的最后一个;以及
再次验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中。
15.根据权利要求12所述的方法,还包括:
当所述多个数据字集中的第一个确实包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位的任何一个时,确定所述多个数据字集中的第一个是否是所述多个数据字集中的最后一个。
16.根据权利要求15所述的方法,还包括:
当所述多个数据字集中的第一个不是所述多个数据字集中的最后一个时,迭代地确定所述多个数据字集中的下一个是否包括未被正确地写入到所述存储器件的相应位单元中的所述一个或多个数据位中的任何一个,并且作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位的至少一个重写到所述存储器件的相应位单元中,直到所述多个数据字集中的下一个是所述多个数据字集的最后一个;以及
再次验证所述多个数据字的所有数据位是否被正确地写入到所述存储器件的相应位单元中。
17.一种存储器件,包括:
多个存储器位单元;以及
控制逻辑电路,连接至所述多个存储器位单元,并且配置为:
将多个数据字写入到所述多个存储器位单元的相应存储器位单元中,其中,每个数据字具有多个数据位;
验证所述多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中;
响应于存在未被正确地写入到相应的存储器位单元中的所述多个数据字的一个或多个数据位,将所述多个数据字分组为多个数据字集;以及
迭代地将包含在所述多个数据字集的相应一个中的所述一个或多个数据位的至少一个重写到相应的存储器位单元中,直到所述多个数据字的所有数据位验证为被正确地写入到相应的存储器位单元中。
18.根据权利要求17所述的存储器件,其中,所述控制逻辑电路还配置为:确定所述多个数据字集的第一个是否包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个。
19.根据权利要求18所述的存储器件,其中,当所述多个数据字集中的第一个包括未被正确地写入到相应存储器位单元中的所述一个或多个数据位的至少第一个时,所述控制逻辑电路进一步配置为:
将所述一个或多个数据位中的至少第一个重写到所述相应的存储器位单元中;以及
确定所述多个数据字集的第一个是否是所述多个数据字集的最后一个。
20.根据权利要求19所述的存储器件,其中,当所述多个数据字集的第一个不是所述多个数据字集的最后一个时,所述控制逻辑电路还配置为:
迭代地确定所述多个数据字集的下一个是否包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个,并且作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位中的至少一个重写到相应的存储器位单元中,直到所述多个数据字集的下一个是所述多个数据字集的最后一个;以及
再次验证所述多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中。
21.根据权利要求18所述的存储器件,其中,当所述多个数据字集的第一个确实包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个时,所述控制逻辑电路进一步配置为:
确定所述多个数据字集的第一个是否是所述多个数据字集的最后一个,
当所述多个数据字集的第一个不是所述多个数据字集的最后一个时,迭代地确定所述多个数据字集的下一个是否包括未被正确地写入到相应的存储器位单元中的所述一个或多个数据位的任何一个,作为响应,选择性地将包含在所述多个数据字集的下一个中的所述一个或多个数据位的至少一个重写到相应的存储器位单元中,直到所述多个数据字集的下一个是所述多个数据字集的最后一个,并且再次验证所述多个数据字的所有数据位是否被正确地写入到相应的存储器位单元中。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862616985P | 2018-01-12 | 2018-01-12 | |
US62/616,985 | 2018-01-12 | ||
US16/159,214 | 2018-10-12 | ||
US16/159,214 US10643722B2 (en) | 2018-01-12 | 2018-10-12 | Memory device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110045920A CN110045920A (zh) | 2019-07-23 |
CN110045920B true CN110045920B (zh) | 2022-02-18 |
Family
ID=67068624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811629083.5A Active CN110045920B (zh) | 2018-01-12 | 2018-12-28 | 存储器件及其操作方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11264109B2 (zh) |
CN (1) | CN110045920B (zh) |
DE (1) | DE102018126051A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11081149B1 (en) * | 2020-03-31 | 2021-08-03 | Winbond Electronics Corp. | Memory device for artificial intelligence operation |
CN112579002B (zh) * | 2020-12-14 | 2024-02-13 | 北京北大众志微系统科技有限责任公司 | 一种在位线结构中设置有传输门的sram及存取提升方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4005405A (en) * | 1975-05-07 | 1977-01-25 | Data General Corporation | Error detection and correction in data processing systems |
US4485471A (en) * | 1982-06-01 | 1984-11-27 | International Business Machines Corporation | Method of memory reconfiguration for fault tolerant memory |
WO2009052513A1 (en) * | 2007-10-19 | 2009-04-23 | S. Aqua Semiconductor, Llc | Digital memory with fine grain write operation |
KR20140134626A (ko) * | 2013-05-14 | 2014-11-24 | 삼성전자주식회사 | 하이브리드 메모리 보호 방법 및 장치 |
CN106469570A (zh) * | 2015-08-21 | 2017-03-01 | 三星电子株式会社 | 包括非易失性存储器件的存储设备及其操作方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6845472B2 (en) * | 2000-01-25 | 2005-01-18 | Hewlett-Packard Development Company, L.P. | Memory sub-system error cleansing |
US7350131B2 (en) * | 2005-01-22 | 2008-03-25 | Cisco Technology, Inc. | Error protecting groups of data words |
US8397024B2 (en) | 2008-10-25 | 2013-03-12 | Sandisk 3D Llc | Page buffer program command and methods to reprogram pages without re-inputting data to a memory device |
US8027195B2 (en) | 2009-06-05 | 2011-09-27 | SanDisk Technologies, Inc. | Folding data stored in binary format into multi-state format within non-volatile memory devices |
US8504893B1 (en) * | 2010-09-30 | 2013-08-06 | Micron Technology, Inc. | Error detection or correction of a portion of a codeword in a memory device |
US8477446B2 (en) | 2011-01-04 | 2013-07-02 | Hewlett-Packard Development Company, L.P. | Writing data to a tape |
US9110829B2 (en) | 2012-11-30 | 2015-08-18 | Taiwan Semiconductor Manufacturing Co. Ltd. | MRAM smart bit write algorithm with error correction parity bits |
KR20150044753A (ko) | 2013-10-17 | 2015-04-27 | 에스케이하이닉스 주식회사 | 데이터 저장 장치의 동작 방법 |
CN104658608B (zh) * | 2013-11-22 | 2018-03-06 | 华为技术有限公司 | 存储设备的写入方法及写入装置 |
US9552244B2 (en) | 2014-01-08 | 2017-01-24 | Qualcomm Incorporated | Real time correction of bit failure in resistive memory |
KR20160032910A (ko) | 2014-09-17 | 2016-03-25 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US9471417B1 (en) | 2015-02-24 | 2016-10-18 | Crossbar, Inc. | Methods and apparatus for back-annotating errors in a RRAM array |
US9484114B1 (en) | 2015-07-29 | 2016-11-01 | Sandisk Technologies Llc | Decoding data using bit line defect information |
JP6457364B2 (ja) | 2015-09-11 | 2019-01-23 | 東芝メモリ株式会社 | メモリシステム |
US9836350B2 (en) * | 2015-09-30 | 2017-12-05 | Western Digital Technologies, Inc. | Joint decoding of rewriting NVM error sectors |
KR20170076883A (ko) | 2015-12-24 | 2017-07-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그의 동작방법 |
KR102505852B1 (ko) | 2016-01-15 | 2023-03-03 | 삼성전자 주식회사 | 비휘발성 메모리 장치의 동작 방법 |
US10643722B2 (en) | 2018-01-12 | 2020-05-05 | Taiwan Semiconductor Manufacturing Co., Ltd. | Memory device |
-
2018
- 2018-10-19 DE DE102018126051.2A patent/DE102018126051A1/de active Pending
- 2018-12-28 CN CN201811629083.5A patent/CN110045920B/zh active Active
-
2020
- 2020-12-03 US US17/111,323 patent/US11264109B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4005405A (en) * | 1975-05-07 | 1977-01-25 | Data General Corporation | Error detection and correction in data processing systems |
US4485471A (en) * | 1982-06-01 | 1984-11-27 | International Business Machines Corporation | Method of memory reconfiguration for fault tolerant memory |
WO2009052513A1 (en) * | 2007-10-19 | 2009-04-23 | S. Aqua Semiconductor, Llc | Digital memory with fine grain write operation |
KR20140134626A (ko) * | 2013-05-14 | 2014-11-24 | 삼성전자주식회사 | 하이브리드 메모리 보호 방법 및 장치 |
CN106469570A (zh) * | 2015-08-21 | 2017-03-01 | 三星电子株式会社 | 包括非易失性存储器件的存储设备及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
DE102018126051A1 (de) | 2019-07-18 |
US20210090672A1 (en) | 2021-03-25 |
CN110045920A (zh) | 2019-07-23 |
US11264109B2 (en) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI676181B (zh) | 記憶體裝置及其操作方法 | |
US10353598B2 (en) | System and method for refreshing data in a memory device | |
US9361991B1 (en) | Efficient scanning of nonvolatile memory blocks | |
US20160179399A1 (en) | System and Method for Selecting Blocks for Garbage Collection Based on Block Health | |
US10528466B2 (en) | Storage devices including logical to physical address mapping and methods of operating | |
US9916093B2 (en) | Nonvolatile memory device and storage device for storing bad block management information with high reliability | |
US9484098B1 (en) | Smart reread in nonvolatile memory | |
US10558576B2 (en) | Storage device with rapid overlay access | |
US9384845B2 (en) | Partial erase of nonvolatile memory blocks | |
US10438664B2 (en) | Non-volatile storage device with physical authentication | |
DE102017100584A1 (de) | Verfahren zum Zugreifen auf heterogene Speicher und Speichermodul, welches heterogene Speicher aufweist | |
US10162538B2 (en) | Memory operation threshold adjustment based on bit line integrity data | |
US11556414B2 (en) | Memory device | |
US20140223120A1 (en) | Securing the contents of a memory device | |
CN113918379A (zh) | 存储器系统和用于控制存储器系统的方法 | |
KR20190058714A (ko) | 메모리 관리 | |
CN110045920B (zh) | 存储器件及其操作方法 | |
CN110890125A (zh) | 存储器装置及其操作方法 | |
US20110153674A1 (en) | Data storage including storing of page identity and logical relationships between pages | |
US10553276B2 (en) | Semiconductor memory device | |
KR20150050376A (ko) | 메모리 장치 | |
JP4284331B2 (ja) | 不揮発性半導体記憶装置のアクセス方法 | |
US11853178B2 (en) | Storage system | |
US9460779B2 (en) | Memory sensing method using one-time sensing table and associated memory device | |
US10579611B2 (en) | Selective event logging |
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 |