CN113892138A - 具有使用冗余库的故障主库修复的存储器器件 - Google Patents
具有使用冗余库的故障主库修复的存储器器件 Download PDFInfo
- Publication number
- CN113892138A CN113892138A CN202180000863.7A CN202180000863A CN113892138A CN 113892138 A CN113892138 A CN 113892138A CN 202180000863 A CN202180000863 A CN 202180000863A CN 113892138 A CN113892138 A CN 113892138A
- Authority
- CN
- China
- Prior art keywords
- banks
- bank
- redundant
- primary
- coupled
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/08—Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/76—Masking faults in memories by using spares or by reconfiguring using address translation or modifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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/44—Indication or identification of errors, e.g. for repair
- G11C29/4401—Indication or identification of errors, e.g. for repair for self repair
-
- 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
- G11C2029/1202—Word line control
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/12—Bit line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, equalising circuits, for bit lines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/10—Decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Microelectronics & Electronic Packaging (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
Abstract
在某些方面中,一种存储器器件包括存储器单元阵列、输入/输出(I/O)电路以及耦合到I/O电路的控制逻辑。存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。I/O电路耦合到N个主库和M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从N个工作库引导N个数据片段。控制电路被配置为基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。控制电路被还配置为控制I/O电路,以分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
Description
背景技术
本公开涉及存储器器件及其操作方法。
闪存存储器是一种可以被电擦除和重新编程的低成本、高密度、非易失性的固态存储介质。闪存存储器包括NOR闪存存储器或NAND闪存存储器。随着闪存存储器中的存储器单元的数量持续增加,在存储器器件的制造期间可能发生故障(坏)存储器单元。
例如,大多数NAND闪存存储器器件与一些故障存储器单元一起从代工厂运出。这些单元通常根据指定的故障单元标记策略来识别。通过允许一些坏的单元,制造商可以实现比在所有单元必须被验证为好的情况下可能的产量更高的产量。这显著地降低了NAND闪存存储器成本,并且仅略微降低了部件的存储容量。
发明内容
在一个方面中,一种存储器器件包括存储器单元阵列、输入/输出(I/O)电路以及耦合到I/O电路的控制逻辑。存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。I/O电路耦合到N个主库和M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从N个工作库引导N个数据片段。控制电路被配置为基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。控制电路被还配置为控制I/O电路,以分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
在另一方面中,一种系统包括被配置为存储数据的存储器器件以及耦合到存储器器件并且被配置为控制存储器器件的存储器控制器。存储器器件包括存储器单元阵列、I/O电路以及耦合到I/O电路的控制逻辑。存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。I/O电路耦合到N个主库和M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从N个工作库引导N个数据片段。控制电路被配置为基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。控制电路还被配置为控制I/O电路,以分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
在又一方面中,提供了一种用于操作存储器器件的方法。存储器器件包括存储器单元阵列,存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
附图说明
并入本文并且形成说明书的一部分的附图示出了本公开的方面,并且与描述一起进一步用于解释本公开的原理并且使相关领域的技术人员能够制成和使用本公开。
图1示出了根据本公开的一些方面的具有存储器器件的示例性系统的块图。
图2A示出了根据本公开的一些方面的具有存储器器件的示例性存储器卡的示图。
图2B示出了根据本公开的一些方面的具有存储器器件的示例性固态驱动器(SSD)的示图。
图3示出了根据本公开的一些方面的包括外围电路的示例性存储器器件的示意图。
图4示出了根据本公开的一些方面的包括存储器单元阵列和外围电路的示例性存储器器件的块图。
图5示出了使用冗余库实施故障主库修复方案的存储器器件的块图。
图6A和图6B示出了使用由图5中的存储器器件实施的冗余库的故障主库修复方案。
图7示出了根据本公开的一些方面的在数据输入中使用冗余库实施故障主库修复方案的示例性存储器器件的块图。
图8示出了根据本公开的一些方面的在数据输出中使用冗余库实施故障主库修复方案的示例性存储器器件的块图。
图9示出了根据本公开的一些方面的图7和图8中的存储器器件的示例性控制逻辑的块图。
图10A-图10C示出了根据本公开的一些方面的使用由图7-图9中的存储器器件实施的冗余库的示例性故障主库修复方案。
图11示出了根据本公开的一些方面的用于操作具有故障主库和冗余库的存储器器件的示例性方法的流程图。
图12示出了根据本公开的一些方面的用于操作具有故障主库和冗余库的存储器器件的另一示例性方法的流程图。
将参考附图描述本公开。
具体实施方式
尽管讨论了具体的构造和布置,但是应当理解,这样做仅仅是出于说明的目的。这样,在不脱离本公开的范围的情况下,可以使用其他构造和布置。此外,显然本公开也可以用于各种其他应用。如本公开中描述的功能和结构特征可以彼此组合、调整和修改,以及以未在附图中具体描绘的方式组合、调整和修改,使得这些组合、调整和修改在本公开的范围内。
一般地,术语可以至少部分地从上下文中的使用来理解。例如,至少部分地取决于上下文,如本文所用的术语“一个或多个”可以用于以单数意义描述任何特征、结构或特性,或者可以用于以复数意义描述特征、结构或特性的组合。类似地,诸如“一”或“所述”的术语同样可以被理解为传达单数用法或传达复数用法,这至少部分地取决于上下文。另外,术语“基于”可以被理解为不一定旨在传达排他的一组因素,并且可以代替地允许存在不一定明确地描述的附加因素,这同样至少部分地取决于上下文。
随着存储器单元的数量持续增加以满足对更大存储容量的持续增加的需求,存储器单元故障的机会也在存储器器件的制造期间增加。处理故障存储器单元的一种方式是除了主存储器单元区域(例如,主库(main bank),又名主列或主群组)之外还添加冗余存储器单元区域(例如,冗余库(redundant bank),又名冗余列或冗余群组)。对于每个存储器器件,如果在制造后测试期间识别的故障存储器单元区域的数量低于限制(例如,不大于冗余存储器单元区域的数量),则可以采用修复方案,使得冗余存储器单元区域可以在操作存储器器件时替换故障存储器单元区域以用于读取和写入数据。
一些已知的存储器器件(例如,NAND闪存存储器器件)可以执行并行数据输入/输出(I/O)操作,以将8个数据片段(例如,8字节)写入到8个物理上分离的主存储器单元区域(例如,主库)或从8个物理上分离的主存储器单元区域(例如,主库)读取8个数据片段(例如,8字节)。相同数量的8个冗余存储器单元区域(例如,冗余库)分别耦合到主存储器单元区域。根据已知修复方案,一旦主存储器单元区域被识别为故障主存储器单元区域,对应的冗余存储器单元区域就替换数据输入和输出中的故障存储器单元区域。然而,这种修复方案和冗余库设计具有各种问题。例如,大量的冗余库可能浪费芯片面积,因为通常不是所有的库都被使用。相对大量的冗余库还可能影响修复方案的灵活性。此外,用于耦合每个主库和相应的冗余库的额外布线长度可能增加数据线的偏斜。
为了解决上述问题中的一个或多个,本公开引入了一种解决方案,其中,可以使用比主库数量少的冗余库以及灵活的修复方案来处理存储器器件(例如,NAND闪存存储器器件)中的故障主库。与本公开的某些方面一致,多路复用器可以用于耦合相邻库,使得输入或输出数据可以在相邻库(主库或冗余库)之间移位。结果,冗余库不再专用于特定主库,而是可以在不耦合到每个主库的情况下替换任何故障主库。因此,冗余库的总芯片面积以及浪费冗余库面积的机会都可以显著减小。此外,由于基于数据移位的修复方案,每个库仅耦合到(一个或多个)相邻库,因此每个数据线之间的偏斜也可以被减小,并且缩短了数据线的布线长度。即使与已知方法相比冗余库的数量较少,本文公开的冗余库设计和基于数据移位的修复方案也可以增加修复灵活性。
图1示出了根据本公开的一些方面的具有存储器器件的示例性系统100的块图。系统100可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(VR)设备、增强现实(AR)设备或者其中具有储存器的任何其他合适的电子设备。如图1中所示,系统100可以包括主机108和存储系统102,存储系统102具有一个或多个存储器器件104和存储器控制器106。主机108可以是电子设备的处理器(例如,中央处理单元(CPU))或者片上系统(SoC)(例如,应用处理器(AP))。主机108可以被配置为将数据发送到存储器器件104或从存储器器件104接收数据。
存储器器件104可以是本公开中公开的任何存储器器件。如下文详细公开的,存储器器件104(例如,NAND闪存存储器器件)可以包括比主库数量少的冗余库,并且在数据输入和输出操作中实施灵活的基于数据移位的修复方案,以处理在存储器器件104的制造后测试期间识别的故障主库。
根据一些实施方式,存储器控制器106耦合到存储器器件104和主机108,并且被配置为控制存储器器件104。存储器控制器106可以管理存储在存储器器件104中的数据,并且与主机108通信。在一些实施方式中,存储器控制器106被设计为用于在低占空比环境中操作,如安全数字(SD)卡、紧凑型闪存(CF)卡、通用串行总线(USB)闪存驱动器、或用于在诸如个人计算器、数字相机、移动电话等的电子设备中使用的其他介质。在一些实施方式中,存储器控制器106被设计为用于在高占空比环境SSD或嵌入式多媒体卡(eMMC)中操作,SSD或eMMC用作诸如智能电话、平板计算机、膝上型计算机等的移动设备的数据储存器以及企业存储阵列。存储器控制器106可以被配置为控制存储器器件104的操作,例如读取、擦除和编程操作。存储器控制器106还可以被配置为管理关于存储在或要存储在存储器器件104中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到物理地址转换、损耗均衡等。在一些实施方式中,存储器控制器106还被配置为处理关于从存储器器件104读取的或者被写入到存储器器件104的数据的纠错码(ECC)。存储器控制器106还可以执行任何其他合适的功能,例如,格式化存储器器件104。存储器控制器106可以根据特定通信协议与外部设备(例如,主机108)通信。例如,存储器控制器106可以通过各种接口协议中的至少一种与外部设备通信,接口协议例如USB协议、MMC协议、外围部件互连(PCI)协议、PCI高速(PCI-E)协议、高级技术附件(ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口(SCSI)协议、增强型小型磁盘接口(ESDI)协议、集成驱动电子设备(IDE)协议、Firewire协议等。
存储器控制器106和一个或多个存储器器件104可以集成到各种类型的存储设备中,例如,包括在相同封装(例如,通用闪存存储(UFS)封装或eMMC封装)中。也就是说,存储器系统102可以实施并且封装到不同类型的终端电子产品中。在如图2A中所示的一个示例中,存储器控制器106和单个存储器器件104可以集成到存储器卡202中。存储器卡202可以包括PC卡(PCMCIA,个人计算机存储器卡国际协会)、CF卡、智能媒体(SM)卡、存储器棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、UFS等。存储器卡202还可以包括将存储器卡202与主机(例如,图1中的主机108)耦合的存储器卡连接器204。在如图2B中所示的另一示例中,存储器控制器106和多个存储器器件104可以集成到SSD 206中。SSD 206还可以包括将SSD 206与主机(例如,图1中的主机108)耦合的SSD连接器208。在一些实施方式中,SSD206的存储容量和/或操作速度大于存储器卡202的存储容量和/或操作速度。
图3示出了根据本公开的一些方面的包括外围电路的示例性存储器器件300的示意电路图。存储器器件300可以是图1中的存储器器件104的示例。存储器器件300可以包括存储器单元阵列器件301和耦合到存储器单元阵列器件301的外围电路302。存储器单元阵列器件301可以是NAND闪存存储器单元阵列,其中,存储器单元306以NAND存储器串308的阵列的形式提供,每个NAND存储器串308在衬底(未示出)上方垂直地延伸。在一些实施方式中,每个NAND存储器串308包括串联耦合并且垂直地堆叠的多个存储器单元306。每个存储器单元306可以保持连续模拟值,例如,电压或电荷,其取决于在存储器单元306的区域内捕获的电子的数量。每个存储器单元306可以是包括浮栅晶体管的浮栅类型的存储器单元,或者是包括电荷捕获晶体管的电荷捕获类型的存储器单元。
在一些实施方式中,每个存储器单元306是具有两种可能的存储器状态并且因此可以存储一位数据的单级单元(SLC)。例如,第一存储器状态“0”可以对应于第一电压范围,并且第二存储器状态“1”可以对应于第二电压范围。在一些实施方式中,每个存储器单元306是能够在多于四个的存储器状态中存储多于单个位的数据的多级单元(MLC)。例如,MLC可以每单元存储两位,每单元存储三位(又被称为三级单元(TLC)),或者每单元存储四位(又被称为四级单元(QLC))。每个MLC可以被编程为采取可能的标称存储值的范围。在一个示例中,如果每个MLC存储两位数据,则MLC可以被编程为通过将三个可能的标称存储值中的一个写入到该单元而从擦除状态采取三个可能的编程级中的一个。第四标称存储值可以用于擦除状态。
如图3中所示,每个NAND存储器串308可以包括在其源极端处的源极选择栅极(SSG)310和在其漏极端处的漏极选择栅极(DSG)312。SSG310和DSG 312可以被配置为在读取和编程操作期间激活选择的NAND存储器串308(阵列的列)。在一些实施方式中,同一块304中的NAND存储器串308的SSG 310通过同一源极线(SL)314(例如,公共SL)耦合到例如地。根据一些实施方式,每个NAND存储器串308的DSG 312耦合到相应的位线316,可以经由输出总线(未示出)从位线316读取或写入数据。在一些实施方式中,每个NAND存储器串308被配置为通过经由一个或多个DSG线313将选择电压(例如,高于具有DSG 312的晶体管的阈值电压)或取消选择电压(例如,0V)施加到相应的DSG 312和/或通过经由一个或多个SSG线315将选择电压(例如,高于具有SSG 310的晶体管的阈值电压)或取消选择电压(例如,0V)施加到相应的SSG 310而被选择或被取消选择。
如图3中所示,NAND存储器串308可以被组织为多个块304,多个块304的每一个可以具有公共源极线314。在一些实施方式中,每个块304是用于擦除操作的基本数据单位,即,同一块304上的所有存储器单元306同时被擦除。相邻NAND存储器串308的存储器单元306可以通过字线318耦合,字线318选择存储器单元306的哪一行受读取和编程操作的影响。在一些实施方式中,每个字线318耦合到存储器单元306的页320,页320是用于编程操作的基本数据单位。以位为单位的一页320的大小可以与一个块304中由字线318耦合的NAND存储器串308的数量相关。每个字线318可以包括在相应页320中的每个存储器单元306处的多个控制栅极(栅极电极)以及耦合控制栅极的栅极线。
外围电路302可以通过位线316、字线318、源极线314、SSG线315和DSG线313耦合到存储器单元阵列301。外围电路302可以包括任何合适的模拟、数字以及混合信号电路,以用于通过经由位线316、字线318、源极线314、SSG线315和DSG线313将电压信号和/或电流信号施加到每个目标存储器单元306以及从每个目标存储器单元306感测电压信号和/或电流信号来促进存储器单元阵列301的操作。外围电路302可以包括使用金属-氧化物-半导体(MOS)技术形成的各种类型的外围电路。例如,图4示出了一些示例性外围电路302,外围电路302包括页缓冲器/感测放大器404、列解码器/位线驱动器406、I/O电路407、行解码器/字线驱动器408、电压发生器410、控制逻辑412、寄存器414、接口416和数据总线418。应当理解,在一些示例中,还可以包括图4中未示出的附加外围电路。
页缓冲器/感测放大器404可以被配置为根据来自控制逻辑412的控制信号从存储器单元阵列301读取数据以及向存储器单元阵列301编程(写入)数据。在一个示例中,页缓冲器/感测放大器404可以存储要被编程到存储器单元阵列301的一个页320中的一页编程数据(写入数据)。在另一示例中,页缓冲器/感测放大器404可以执行编程验证操作,以确保数据已经被正确地编程到耦合到选择的字线318的存储器单元306中。在又一示例中,页缓冲器/感测放大器404还可以感测来自位线316的表示存储在存储器单元306中的数据位的低功率信号,并且在读取操作中将小电压摆幅放大到可识别的逻辑电平。
列解码器/位线驱动器406可以被配置为由控制逻辑412控制,并且通过施加从电压发生器410生成的位线电压来选择一个或多个NAND存储器串308。I/O电路407可以耦合到页缓冲器/感测放大器404和/或列解码器/位线驱动器406,并且被配置为将数据输入从数据总线418引导(路由)到存储器单元阵列301的期望存储器单元区域(例如,库),以及将数据输出从期望存储器单元区域引导(路由)到数据总线418。如下文详细描述的,I/O电路407可以包括多路复用器(MUX)阵列,以实施如由控制逻辑412控制的本文公开的灵活的基于数据移位的修复方案。
行解码器/字线驱动器408可以被配置为由控制逻辑412控制,并且选择存储器单元阵列301的块304以及选择的块304的字线318。行解码器/字线驱动器408还可以被配置为使用从电压发生器410生成的字线电压来驱动选择的字线318。电压发生器410可以被配置为由控制逻辑412控制,并且生成要被供应到存储器单元阵列301的字线电压(例如,读取电压、编程电压、通过电压、局部电压和验证电压)。
控制逻辑412可以耦合到上文描述的每个外围电路,并且被配置为控制每个外围电路的操作。寄存器414可以耦合到控制逻辑412,并且包括状态寄存器、命令寄存器和地址寄存器,以用于存储用于控制每个外围电路的操作的状态信息、命令操作码(OP码)和命令地址。接口416可以耦合到控制逻辑412,并且充当控制缓冲器,以缓冲从主机(未示出)接收的控制命令并且并将其转发到控制逻辑412,以及缓冲从控制逻辑412接收的状态信息并且将其转发到主机。接口416还可以经由数据总线418耦合到I/O电路407,并且充当数据I/O接口和数据缓冲器,以缓冲从主机(未示出)接收的写入数据并且将其转发到I/O电路407,以及缓冲从I/O电路407的读取数据并且将其转发到主机。例如,接口416可以包括耦合到数据总线418的数据I/O 417。
图5示出了使用冗余库实施故障主库修复方案的存储器器件500的块图。存储器器件500中的存储器单元阵列301包括i组8个主库502(<0>…和<7>)以及j组8个冗余库504(<0>…和<7>),并且每个主库502经由相应的数据线(L<0>…、或L<7>)耦合到相应的冗余库504。也就是说,在主库502在制造后测试期间被识别为故障主库的情况下,每个主库502具有其专用冗余库504作为其备份。存储器器件500能够并行地将8个数据片段(例如,8字节)分别输入或输出到8个主库502中。存储器器件500包括i组8个主库502和j组8个冗余库504。
存储器器件500的列解码器/位线驱动器406包括分别耦合到i组8个主库502的i个主解码器510以及分别耦合到j组8个冗余库504的j个冗余解码器511。存储器器件500的列解码器/位线驱动器406还包括耦合到i个主解码器510的主预解码器506以及耦合到j个冗余解码器511的冗余(RED)预解码器508。存储器器件500的控制逻辑412通过经由控制信号(例如,冗余使能信号(RED_EN))控制主预解码器506和冗余预解码器508来实施故障主库修复方案。基于来自控制逻辑412的控制信号,主预解码器506使用选择/取消选择信号(YSEL<0>…、和YSEL<i>)使i个主解码器510中的每一个禁用相应的主库组中的8个主库502中的是故障主库的任何一个主库。另一方面,基于来自控制逻辑412的控制信号,冗余预解码器508使用选择/取消选择信号(YREDSEL<0>…、和YREDSEL<j>)使j个冗余解码器511中的每一个使能相应的冗余库组中的8个冗余库504中的通过相应的位线耦合到对应的故障主库的任何一个冗余库。存储器器件500的页缓冲器/感测放大器404由主库502和冗余库504共享,以用于读取和写入操作。
图6A和图6B示出了使用由图5中的存储器器件500实施的冗余库的故障主库修复方案。图6A和图6B示出了一组8个主库502和一组8个冗余库504。8个主库502包括库0低(B0_L)、库0高(B0_H)、库1低(B1_L)、库1高(B1_H)、库2低(B2_L)、库2高(B2_H)、库3低(B3_L)和库3高(B3_H)。8个主库502彼此分离,意味着被引导到一个主库502的数据片段不能被重新引导到另一主库502,因为它们没有通过数据线耦合。相反,每个主库502通过与相应的冗余库504(如图6A和图6B中所示,在右侧相邻的一个)之间数据线(例如,图5中的L<0>…、或L<7>)耦合到相应的冗余库504。
图6A示出了其中所有8个主库502均是工作库的情况,即,制造后测试未识别出任何故障主库。在这种情况下,第一8个数据片段(0…、和7)分别被引导到8个主库502或从8个主库502被引导,而不使用所有8个冗余库504,即没有数据(标记为“x”)。类似地,第二8个数据片段(8…、和15)再次分别被引导到8个主库502或从8个主库502被引导,而所有8个冗余库504保持未被使用,即没有数据(标记为“x”)。
图6B示出了其中8个主库502中的一个是通过制造后测试识别的故障主库的情况。在其中B2_H是故障主库的一个示例中,第一8个数据片段中的7个数据片段(0、1、2、3、4、6和7)分别被引导到7个工作主库502(除了B2_H)或从7个工作主库502被引导,而数据(5)被重新引导到B2_H或从B2_H被引导。也就是说,故障主库B2_H由其耦合到B2_H以用于数据输入和输出的专用备份冗余库504替换。在其中B0_L是故障主库的另一示例中,第二8个数据片段中的7个数据片段(9…、和15)分别被引导到7个工作主库502(除了B0_L)或从7个工作主库502被引导,而数据(8)被重新引导到耦合到B0_L的冗余库504或从耦合到B0_L的冗余库504被引导。也就是说,故障主库B0_L被其耦合到B0_L以用于数据输入和输出的专用备份冗余库504替换。
如上文所述,图5、图6A和图6B中所示的冗余库设计和相关联的修复方案存在各种问题。首先,8个冗余库504中的7个被浪费,并且仅冗余库504中的一个被用于修复一个故障主库。其次,修复方案缺乏灵活性,因为故障主库仅可以由预先指派的专用冗余库504替换。再次,每个主库502需要通过数据线耦合到相应的冗余库504,这增加了数据线的布线长度和数据线的偏斜。
为了克服这些问题中的一个或多个,本公开提供了一种改进的冗余库设计,其具有较小数量的冗余库和相关联的灵活的基于数据移位的修复方案。与本公开的范围一致,存储器器件可以包括存储器单元阵列(例如,图3和图4中的存储器单元阵列301)、I/O电路(例如,图4中的I/O电路407)以及控制逻辑(例如,图4中的控制逻辑412)。存储器单元阵列可以包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。也就是说,存储器单元阵列可以具有比主库数量少的冗余库。应当理解,与图5中的存储器器件500类似,存储器单元阵列可以包括多组N个主库以及多组M个冗余库。然而,N是可以并行输入(写入/编程)到存储器单元阵列和从存储器单元阵列输出(读取)的数据片段的数量。还应当理解,本文所用的术语“库”(在“主库”、“冗余库”或“工作库”的上下文中)可以指代其中N个并行数据片段中的一个被引导到其或N个并行数据片段中的一个从其引导的存储器单元区域。例如,库可以是存储器单元阵列中的页、块或面的部分。
I/O电路可以耦合到N个主库和M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从N个工作库引导N个数据片段。在一些实施方式中,I/O电路耦合到N个主库和M个冗余库中的每一对相邻库,使得I/O电路被配置为将N个数据片段中的一个数据片段引导到一对相邻库中的任一库或从一对相邻库中的任一库引导N个数据片段中的一个数据片段。
在一些实施方式中,M等于1。也就是说,单个冗余库可以用于修复一组N(2、3、4、5等)个主库,这可以显著地减小冗余库的芯片面积和未使用的冗余库的浪费。例如,图7和图8示出了根据本公开的一些方面的分别在数据输入和数据输出中使用冗余库实施故障主库修复方案的示例性存储器器件700的块图。存储器器件700可以是图3和图4中的存储器器件300的示例。为了便于描述,存储器器件300中的部件的细节可以在描述存储器器件700时省略并且可以类似地应用于存储器器件700。如图7和图8中所示,存储器器件700可以包括具有8个主库702(B0_L、B0_H、B1_L、B1_H、B2_L、B2_H、B3_L和B3_H)和1个冗余库704(RED)的存储器单元阵列301。也就是说,在存储器器件700中,N等于8,并且M等于1。换句话说,根据一些实施方式,存储器单元阵列301包括9个库,9个库包括8个主库702和1个冗余库704。
I/O电路407可以例如通过页缓冲器/感测放大器404和列解码器/位线驱动器406耦合到8个主库702和1个冗余库704。在图7中所示的一些具体实施中,在数据输入(例如,写入操作)中,页缓冲器/感测放大器404和列解码器/位线驱动器406包括分别耦合到8个主库702和1个冗余库704的9个驱动器706。在图8中所示的一些实施方式中,在数据输出(例如,读取操作)中,页缓冲器/感测放大器404和列解码器/位线驱动器406包括分别耦合到8个主库702和1个冗余库704的9个感测放大器802。
I/O电路407可以被配置为分别将8个数据片段引导到8个工作库或从8个工作库引导8个数据片段。在图7中所示的一些实施方式中,在数据输入中,I/O电路407被配置为将8个输入数据片段(例如,写入数据:gwd<7:0>、gwd<15:8>、gwd<23:16>、gwd<31:24>、gwd<39:32>、gwd<47:40>、gwd<55:48>和gwd<63:56>)引导到9个库(即,8个主库702和1个冗余库704)中的8个工作库(例如,7个主库702和1个冗余库704)。在图8中所示的一些实施方式中,在数据输出中,I/O电路407被配置为从9个库中的8个工作库(例如,7个主库702和1个冗余库704)引导8个输出数据片段(例如,读取数据:grd<7:0>、grd<15:8>、grd<23:16>、grd<31:24>、grd<39:32>、grd<47:40>、grd<55:48>和grd<63:56>)。如图7和图8中所示,在一些实施方式中,I/O电路407耦合到每一对相邻库,使得I/O电路407被配置为将一个写入数据片段(gwd)引导到一对相邻库中的任一库,或者从一对相邻库中的任一库引导一个读取数据片段(grd)。一对相邻库可以是两个主库702,或者可以是一个主库702和一个冗余库704。在一些实施方式中,冗余库704通过I/O电路407耦合到两个主库702。应当理解,尽管冗余库704分别通过在8个主库702中间的I/O电路407耦合到两个主库702(B1_H和B2_L),如图7和图8中所示,但是在一些示例中,冗余库704可以分别通过I/O电路407耦合到任何两个主库702,或者在8个主库702的端部处仅耦合到一个主库702(例如,B0_L或B3_H)。
I/O电路407可以用MUX阵列来实施。在图7中所示的一些实施方式中,存储器器件700的I/O电路407包括分别耦合到8个主库702和1个冗余库704以用于数据输入的一组9个写入MUX 708。每个写入MUX 708可以包括输出(Out)、两个输入(A和B)以及选择端口(S)。每个写入MUX 708的输出耦合到相应的库702或704。写入MUX 708的选择端口可以被配置为接收指示一个输入(A或B)的选择的写入选择信号(red_en_b0_l_wt…、red_en_b12_wt…、或red_en_b3_h_wt)。例如,正偏置写入选择信号(即,使能写入选择信号)可以选择输入B。在一些实施方式中,除了在端部处耦合到两个主库702(B0_L和B3_H)(即,仅耦合到一个另一主库702)的写入MUX 708之外,耦合到相应的主库702的每个写入MUX 708具有两个输入,两个输入被配置为分别输入两个数据片段,两个数据片段包括旨在用于相应的主库702的一个写入数据片段和旨在用于相邻主库702的另一写入数据片段。例如,耦合到B0_H的写入MUX 708可以具有被配置为输入写入数据gwd<15:8>的输入A以及被配置为输入写入数据gwd<7:0>的输入B。至于耦合到冗余库704的写入MUX 708,其可以具有两个输入,两个输入被配置为分别输入两个数据片段,两个数据片段包括旨在用于一个相邻主库702的一个写入数据片段和和旨在用于另一相邻主库702的另一写入数据片段。例如,耦合到RED的写入MUX 708可以具有被配置为输入写入数据gwd<31:24>的输入A和被配置为输入写入数据gwd<39:32>的输入B。换句话说,每个写入数据片段可以耦合到两个相邻库的两个输入,并且被输入到两个相邻库的任一输入。至于在端部处耦合到两个主库702(B0_L和B3_H)的写入MUX708,其输入中的一个可以被配置为输入旨在用于相应的主库702的一个写入数据片段,并且其输入中的另一个可以被配置为输入指示由于库故障的数据禁止(例如,系统电压Vdd)的信号。
在图8中所示的一些实施方式中,存储器器件700的I/O电路407包括耦合到8个主库702的1个冗余库704以用于数据输出的一组8个读取MUX804。每个读取MUX 804可以包括输出(Out)、两个输入(A和B)以及选择端口(S)。读取MUX 804的选择端口可以被配置为接收指示一个输入(A或B)的选择的读取选择信号(red_en_b0_l_rd…、或red_en_b3_h_rd)。例如,正偏置读取选择信号(即,使能读取选择信号)可以选择输入B。在一些实施方式中,每个读取MUX 804具有耦合到两个相邻库的两个输入。例如,最左侧的读取MUX 804可以具有耦合到B0_L的输入A和耦合到B0_H的输入B;中间的读取MUX 804可以具有耦合到B1_H的输入A和耦合到RED的输入B。换句话说,除了在端部处的两个主库702(B0_L和B3_H)之外,每个库702或704可以分别耦合到两个读取MUX 804的输入。每个读取MUX 804的输出可以被配置为基于相应的读取选择信号从输入A或输入B输出一个数据片段,即存储在两个相邻库中的任一数据片段。例如,从最左侧的读取MUX 804输出的读取数据gwd<7:0>可以来自B0_L或B0_H;从中间的读取MUX 804输出的读取数据gwd<31:24>可以来自B1_H或RED。
如上文关于图7和图8所述,I/O电路407可以耦合到每一对相邻库,并且被配置为将数据片段引导到每一对相邻库中的任一库或从每一对相邻库中的任一库引导数据片段。应当理解,尽管上文关于具有8个主库702和1个冗余库704的存储器器件700描述了I/O电路407中的MUX阵列的示例性设计,但是类似设计可以一般地应用于具有M个主库和N个冗余库的存储器器件,其中,N和M中的每一个为正整数,并且N大于M。基于存储器单元阵列中的冗余库的和I/O电路中的MUX阵列的设计,可以实施灵活的基于数据移位的修复方案。控制逻辑可以耦合到I/O电路,并且被配置为基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库可以包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。控制逻辑还可以被配置为控制I/O电路,以分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
例如,如图9中所示,控制逻辑412可以包括读取冗余使能逻辑902、写入冗余使能逻辑904和工作库逻辑906。每个逻辑902、904或906可以由微处理器、微控制器(又名微控制器单元(MCU))、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立硬件电路以及被配置为执行下文详细描述的各种功能的其他合适的硬件、固件和/或软件来实施。在一些实施方式中,读取冗余使能逻辑902、写入冗余使能逻辑904和工作库逻辑906中的一个或多个用内容可寻址存储器(CAM)来实施。
在一些实施方式中,工作库逻辑906耦合到寄存器414并且被配置为获得库故障信息,库故障信息指示存储器器件(例如,存储器器件700)的主库中的一个或多个故障主库,例如,N个主库中的K个故障主库。在制造后测试期间,可以从存储器器件检测坏(非功能性)存储器单元,并且可以将包括至少一个坏存储器单元的每个主库识别为故障主库。在一些实施方式中,库故障信息指示存储器器件的故障主库中的每一个,并且保存在存储器器件中(例如,寄存器414中)。因此,每个存储器器件可以具有其自己的库故障信息。在操作存储器器件之前,工作库逻辑906可以从寄存器414获得库故障信息,并且确定存储器器件的可以用于数据输入和输出的N个工作库。根据一些实施方式,工作库的数量(N)与并行输入/输出数据片段的数量(N)(例如,存储器器件700中的8)相同。也就是说,工作库逻辑906可以用相同数量(K)的冗余库替换K个故障主库,使得N个工作库可以包括K个冗余库和N-K个主库。在存储器器件700中,8个主库702中的一个故障主库可以由冗余库704替换以形成8个工作库,如由控制逻辑412的工作库逻辑906所确定。
基于确定的N个工作库,读取冗余使能逻辑902和写入冗余使能逻辑904可以被配置为控制I/O电路407,以分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。在一些实施方式中,对于数据输入,写入冗余使能逻辑904耦合到I/O电路407的写入MUX 708,并且被配置为基于确定的8个工作库分别向9个写入MUX 708提供9个写入选择信号(例如,red_en_b0_l_wt…、red_en_b12_wt…、和red_en_b3_h_wt)。在一些实施方式中,对于数据输出,读取冗余使能逻辑902耦合到I/O电路407的读取MUX 804,并且被配置为基于确定的8个工作库分别向8个读取MUX 804提供8个读取选择信号(例如,red_en_b0_l_rd…、和red_en_b3_h_rd)。在一些实施方式中,读取冗余使能逻辑902和写入冗余使能逻辑904还分别向读取MUX 804和写入MUX 708的选通时钟提供同步信号,以对准数据和选择信号。
可以基于K个故障主库使能(例如,正偏置)或禁用(例如,负偏置)每个选择信号。在一些实施方式中,如果一对相邻库中的第一库是K个故障主库中的一个故障主库,则读取冗余使能逻辑902和写入冗余使能逻辑904被配置为控制I/O电路407以将数据片段引导到该对相邻库中的第二库或从该对相邻库中的第二库引导数据片段。也就是说,根据一些实施方式,控制逻辑412被配置为基于库故障信息选择每一对相邻库中的一个库,并且控制I/O电路407以将数据片段引导到每一对相邻库中的选择的库或从每一对相邻库中的选择的库引导数据片段。
现在参考图7,在数据输入中,写入冗余使能逻辑904可以被配置为控制耦合到第一库(即,故障主库)的第一写入MUX 708,以禁止从第一写入MUX 708的输入A输入数据片段,并且禁止将数据片段输出到第一库。相反,写入冗余使能逻辑904可以被配置为控制耦合到第二库(例如,与第一库相邻的主库702或冗余库704)的第二写入MUX 708,以使能从第二写入MUX 708的输入B输入数据片段,并且使能将数据片段输出到第二库。也就是说,如由写入冗余使能逻辑904控制,旨在用于故障主库的数据片段可以由耦合到故障主库的写入MUX 708重新引导到其相邻库(主库702或冗余库704)。相同的操作可以应用于每一对相邻库,使得数据输入在相邻库之间移位。
例如,假设B0_L是故障主库,则写入冗余使能逻辑904可以使能red_en_b0_l_wt和red_en_b0_h_wt,使得Vdd从输入B输入到B0_L,并且gwd<7:0>被重新引导并且从输入B输入到B0_H。为了移位数据输入,写入冗余使能逻辑904还可以使能red_en_b1_l_wt和red_en_b1_h_wt,使得gwd<15:8>被重新引导并且从输入B输入到B1_L,并且gwd<23:16>被重新引导并且从输入B输入到B1_H。写入冗余使能逻辑904还可以禁用red_en_b12_wt,使得gwd<31:24>被重新引导并且从输入A输入到RED。也就是说,因此,输入数据可以从故障主库B0_L移位到冗余库RED。对于其他主库B2_L、B2_H、B3_L和B3_H,可以不需要输入数据移位,使得写入冗余使能逻辑904可以禁用red_en_b2_l_wt、red_en_b2_h_wt、red_en_b3_l_wt和red_en_b3_h_wt。结果,B2_L、B2_H、B3_L和B3_H中的每一个仍然可以从输入A输入数据而没有数据移位。
现在参考图8,在数据输出中,读取冗余使能逻辑902可以被配置为控制耦合到第一库和第二库(即,故障主库以及与故障主库相邻的主库702或冗余库704)的读取MUX 804,以使能从第二库(例如,与故障主库相邻的主库702或冗余库704)输出数据片段。也就是说,如由读取冗余使能逻辑902控制,旨在用于故障主库的数据片段可以由读取MUX 804从其相邻库(主库702或冗余库)被重新引导。相同的操作可以应用于每一对相邻库,使得数据输出在相邻库之间移位。
例如,假设B0_L是故障主库,则读取冗余使能逻辑902可以使能red_en_b0_l_rd,使得grd<7:0>被重新引导并且从耦合到输入B的B0_H输出。为了移位数据输出,读取冗余使能逻辑902还可以使能red_en_b0_h_rd、red_en_b1_l_rd和red_en_b1_h_rd,使得grd<15:8>被重新引导并且从耦合到输入B的B1_L输出,grd<23:16>被重新引导并且从耦合到输入B的B1_H输出,并且grd<31:24>被重新引导并且从耦合到输入B的RED输出。也就是说,因此,输出数据可以从故障主库B0_L移位到冗余库RED。对于其他主库B2_L、B2_H、B3_L和B3_H,可以不需要输出数据移位,使得读取冗余使能逻辑902可以禁用red_en_b2_l_rd、red_en_b2_h_rd、red_en_b3_l_rd和red_en_b3_h_rd。结果,数据仍然可以从输入A从B2_L、B2_H、B3_L和B3_H输出,而没有数据移位。
图10A-图10C示出了根据本公开的一些方面的使用由存储器器件700实施的冗余库704的故障主库修复方案的其他示例。图10A示出了其中所有8个主库702均是工作库的情况,即制造后测试未识别出任何故障主库。在这种情况下,第一8个数据片段(0…、和7)可以分别被引导到8个主库702或从8个主库702被引导,而可以不使用冗余库704,即没有数据(标记为“x”)。类似地,第二8个数据片段(8…、和15)可以分别再次被引导到8个主库702或从8个主库702被引导,而冗余库704可以保持未被使用,即没有数据(标记为“x”)。
图10B和图10C示出了其中8个主库702中的一个是通过制造后测试识别的故障主库的情况。如图10B中所示,在其中B2_H是故障主库的一个示例中,第一8个数据片段中的第一4个数据片段(1、2、3和4)可以分别被引导到4个对应的工作主库B0_L、B0_H、B1_L和B1_H(它们通过冗余库704与B2_H分离)或从对应的工作主库B0_L、B0_H、B1_L和B1_H被引导。旨在用于B2_H的数据(5)可以被重新引导到相邻工作主库B2_L,并且旨在用于B2_L的数据(4)可以被重新引导到冗余库704(数据向左移位)。B2_H可以变为不被使用。也就是说,数据移位可以发生在B2_H与冗余库704之间。第一8个数据片段中的最后2个数据片段(6和7)可以分别被引导到对应的工作主库B3_L和B3_H或从对应的工作主库B3_L和B3_H被引导,而不没有数据移位。在其中B0_L是故障主库的另一示例中,第二8个数据片段中的第一4个数据片段(8、9、10和11)可以分别被引导到相邻工作主库B0_H、B1_L和B1_H以及冗余库704或从相邻工作主库B0_H、B1_L和B1_H以及冗余库704被引导(数据向右移位)。B0_L可以变为不被使用。也就是说,数据移位可以发生在B0_L与冗余库704之间。第二8个数据片段中的最后4个数据片段(12、13、14和15)可以分别被引导到4个对应的工作主库B2_L、B2_H、B3_L和B3_H或从4个对应的工作主库B2_L、B2_H、B3_L和B3_H被引导,而没有数据移位。
如图10C中所示,在其中B1_L是故障主库的一个示例中,第一8个数据片段中的第一2个数据片段(0和1)可以分别被引导到对应的工作主库B0_L和B0_H或从对应的工作主库B0_L和B0_H被引导。第一8个数据片段中的接下来的2个数据片段(2和3)可以分别被重新引导到相邻工作主库B1_H以及冗余库704或从相邻工作主库B1_H以及冗余库704被引导(数据向右移位)。B1_L可以变为不被使用。也就是说,数据移位可以发生在B1_L与冗余库704之间。第一8个数据片段中的最后4个数据片段(4、5、6和7)可以分别被引导到对应的工作主库B2_L、B2_H、B3_L和B3_H或从对应的工作主库B2_L、B2_H、B3_L和B3_H被引导,而没有数据移位。在其中B2_L是故障主库的另一个示例中,第二8个数据片段中的第一4个数据片段(8、9、10和11)可以分别被引导到对应的工作主库B0_L、B0_H、B1_L和B1_H(它们通过冗余库704与B2_L分离)或从对应的工作主库B0_L、B0_H、B1_L和B1_H被引导。旨在用于B2_L的数据(12)可以被重新引导到冗余库704或从冗余库704被重新引导(数据向左移位),并且B2_L可以变为不被使用。也就是说,数据移位可以发生在B2_L与冗余库704之间。第二8个数据片段中的最后3个数据片段(13、14和15)可以分别被引导到3个对应的工作主库B2_H、B3_L和B3_H或从3个对应的工作主库B2_H、B3_L和B3_H被引导,而没有数据移位。
图11示出了根据本公开的一些方面的用于操作具有故障主库和冗余库的存储器器件的示例性方法1100的流程图。存储器器件可以是本文公开的任何合适的存储器器件。方法1100可以由控制逻辑412实施。应当理解,方法1100中所示的操作所示的操作不是穷举的,并且在所示操作中的任何操作之前、之后或之间也可以执行其他操作。此外,一些操作可以同时执行,或者以与图11中所示的不同的顺序执行。
参考图11,方法1100在操作1102处开始,其中,获得指示多个主库中的故障主库的库故障信息。可以通过存储器器件的制造后测试识别故障主库。例如,在操作存储器器件之前,工作库逻辑906可以从寄存器414获得库故障信息。
方法1100进行至操作1104,如图11中所示,其中,基于库故障信息从多个主库和冗余库确定多个工作库。多个工作库可以包括冗余库。例如,工作库逻辑906可以确定包括冗余库和剩余主库的工作库。
方法1100进行至操作1106,如图11中所示,其中,基于库故障信息选择多个库中的每一对相邻库中的一个库。根据一些实施方式,选择的库是工作库。例如,工作库逻辑906可以基于库故障信息选择每一对相邻库中的一个工作库。
方法1100进行至操作1108,如图11中所示,其中,控制将数据片段引导到每一对相邻库中的选择的库或从每一对相邻库中的选择的库引导数据片段。根据一些实施方式,为了控制引导数据片段,确定一对相邻库中的第一库是故障主库,并且控制将数据片段引导到该对相邻库中的第二库或从该对相邻库中的第二库引导数据片段。在一个示例中,写入冗余使能逻辑904可以控制第一写入MUX 708以禁止将数据片段输出到第一库,并且控制第二写入MUX 708以使能将数据片段输出到第二库。在另一个示例中,读取冗余使能逻辑902可以控制读取MUX 804,以使能从第二库输出数据片段。
图12示出了根据本公开的一些方面的用于操作具有故障主库和冗余库的存储器器件的另一示例性方法1200的流程图。存储器器件可以是本文公开的任何合适的存储器器件。方法1200可以由控制逻辑412实施。应当理解,方法1200中所示的操作不是穷举的,并且在所示操作中的任何操作之前、之后或之间也可以执行其他操作。此外,一些操作可以同时执行,或者以与图12中所示的不同的顺序执行。
参考图12,方法1200在操作1202处开始,其中,获得指示N个主库中的K个故障主库的库故障信息。K可以为不大于N的正整数。可以通过存储器器件的制造后测试识别K个故障主库。例如,在操作存储器器件之前,工作库逻辑906可以从寄存器414获得库故障信息。
方法1200进行至操作1204,如图12中所示,其中,基于库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库可以包括M个冗余库中的K个冗余库。例如,工作库逻辑906可以确定包括K个冗余库和剩余主库的N个工作库。在一些实施方式中,M等于1,并且基于库故障信息从N个主库和冗余库中的每一对相邻库选择一个工作库。
方法1200进行至操作1206,如图12中所示,其中,分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。在一些实施方式中,M等于1,并且将K个数据片段中的一个数据片段引导到N个主库和冗余库中的每一对相邻库中的选择的工作库或从N个主库和冗余库中的每一对相邻库中的选择的工作库引导K个数据片段中的一个数据片段。
根据本公开的一个方面,一种存储器器件包括存储器单元阵列、I/O电路以及耦合到I/O电路的控制逻辑。存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。I/O电路耦合到N个主库和M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从N个工作库引导N个数据片段。控制电路被配置为基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。控制电路被还配置为控制I/O电路,以分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
在一些实施方式中,I/O电路耦合到N个主库和M个冗余库中的每一对相邻库,使得I/O电路被配置为将N个数据片段中的一个数据片段引导到一对相邻库中的任一库或从一对相邻库中的任一库引导N个数据片段中的一个数据片段。
在一些实施方式中,至少一对相邻库均为主库。
在一些实施方式中,一对相邻库中的第一库是K个故障主库中的一个故障主库,并且控制逻辑被配置为控制I/O电路以将数据片段引导到一对相邻库中的第二库或从一对相邻库中的第二库引导数据片段。
在一些实施方式中,I/O电路包括分别耦合到N个主库和M个冗余库的一组写入MUX。在一些实施方式中,一组写入MUX包括:第一写入MUX,第一写入MUX具有两个输入和耦合到第一库的输出,两个输入中的一个输入被配置为输入数据片段,第二写入MUX,第二写入MUX具有两个输入和耦合到第二库的输出,两个输入被配置为分别输入数据片段和另一数据片段。
在一些实施方式中控制逻辑还被配置为控制第一写入MUX以禁止将数据片段输出到第一库,并且控制第二写入MUX以使能将数据片段输出到第二库。
在一些实施方式中,I/O电路包括耦合到N个主库和M个冗余库的一组读取MUX,并且一组读取MUX包括读取MUX,读取MUX具有分别耦合到第一库和第二库的两个输入以及被配置为输出数据片段的输出。
在一些实施方式中,控制逻辑还被配置为控制读取MUX以使能从第二库输出数据片段。
在一些实施方式中,M等于1。
在一些实施方式中,冗余库通过I/O电路耦合到N个主库中的两个主库。
在一些实施方式中,存储器器件包括3D NAND存储器器件。
根据本公开的另一方面,一种系统包括被配置为存储数据的存储器器件以及耦合到存储器器件并且被配置为控制存储器器件的存储器控制器。存储器器件包括存储器单元阵列、I/O电路以及耦合到I/O电路的控制逻辑。存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。I/O电路耦合到N个主库和M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从N个工作库引导N个数据片段。控制电路被配置为基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。控制电路还被配置为控制I/O电路,以分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
在一些实施方式中,系统还包括耦合到存储器控制器并且被配置为发送或接收数据的主机。
在一些实施方式中,I/O电路耦合到N个主库和M个冗余库中的每一对相邻库,使得I/O电路被配置为将N个数据片段中的一个数据片段引导到一对相邻库中的任一库或从一对相邻库中的任一库引导N个数据片段中的一个数据片段。
在一些实施方式中,至少一对相邻库均为主库。
在一些实施方式中,一对相邻库中的第一库是K个故障主库中的一个故障主库,并且控制逻辑被配置为控制I/O电路以将数据片段引导到一对相邻库中的第二库或从一对相邻库中的第二库引导数据片段。
在一些实施方式中,I/O电路包括分别耦合到N个主库和M个冗余库的一组写入MUX。在一些实施方式中,一组写入MUX包括:第一写入MUX,第一写入MUX具有两个输入和耦合到第一库的输出,两个输入中的一个输入被配置为输入数据片段,第二写入MUX,第二写入MUX具有和两个输入耦合到第二库的输出,两个输入被配置为分别输入数据片段和另一数据片段。
在一些实施方式中,控制逻辑还被配置为控制第一写入MUX以禁止将数据片段输出到第一库,并且控制第二写入MUX以使能将数据片段输出到第二库。
在一些实施方式中,I/O电路包括耦合到N个主库和M个冗余库的一组读取MUX,并且一组读取MUX包括读取MUX,读取MUX具有分别耦合到第一库和第二库的两个输入以及被配置为输出数据片段的输出。
在一些实施方式中,控制逻辑还被配置为控制读取MUX以使能从第二库输出数据片段。
在一些实施方式中,M等于1。
在一些实施方式中,冗余库通过I/O电路耦合到N个主库中的两个主库。
根据本公开的又一方面,提供了一种用于操作存储器器件的方法。存储器器件包括存储器单元阵列,存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M。基于指示N个主库中的K个故障主库的库故障信息从N个主库和M个冗余库确定N个工作库。N个工作库包括M个冗余库中的K个冗余库,其中,K为不大于M的正整数。分别将N个数据片段中的K个数据片段引导到K个冗余库或从K个冗余库引导N个数据片段中的K个数据片段。
在一些实施方式中,获得指示N个主库中的K个故障主库的库故障信息。
在一些实施方式中,M等于1。
在一些实施方式中,为了确定,基于库故障信息从N个主库和冗余库中的每一对相邻库选择一个工作库。
在一些实施方式中,为了引导,将K个数据片段中的一个数据片段引导到N个主库和冗余库中的每一对相邻库中的选择的工作库或从选择的工作库引导K个数据片段中的一个数据片段。
可以容易地修改具体实施方式的前述描述和/或使其适应于各种应用。因此,基于本文呈现的教导和指导,这种适应和修改旨在处于所公开的实施方式的等同物的含义和范围内。
本公开的广度和范围不应由上述示例性实施方式中的任一个来限制,而应仅根据所附权利要求及其等同物来限定。
Claims (27)
1.一种存储器器件,包括:
存储器单元阵列,所述存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M;
输入/输出(I/O)电路,所述输入/输出电路耦合到所述N个主库和所述M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从所述N个工作库引导所述N个数据片段;以及
控制逻辑,所述控制逻辑耦合到所述I/O电路,并且被配置为:
基于指示所述N个主库中的K个故障主库的库故障信息从所述N个主库和所述M个冗余库确定所述N个工作库,所述N个工作库包括所述M个冗余库中的K个冗余库,其中,K为不大于M的正整数;并且
控制所述I/O电路,以分别将所述N个数据片段中的K个数据片段引导到所述K个冗余库或从所述K个冗余库引导所述N个数据片段中的所述K个数据片段。
2.根据权利要求1所述的存储器器件,其中,所述I/O电路耦合到所述N个主库和所述M个冗余库中的每一对相邻库,使得所述I/O电路被配置为将所述N个数据片段中的一个数据片段引导到一对相邻库中的任一库或从所述一对相邻库中的所述任一库引导所述N个数据片段中的所述一个数据片段。
3.根据权利要求书2所述的存储器器件,其中,至少一对相邻库均为主库。
4.根据权利要求2或3所述的存储器器件,其中
所述一对相邻库中的第一库是所述K个故障主库中的一个故障主库;并且
所述控制逻辑被配置为控制所述I/O电路以将数据片段引导到所述一对相邻库中的第二库或从所述一对相邻库中的所述第二库引导所述数据片段。
5.根据权利要求4所述的存储器器件,其中,
所述I/O电路包括分别耦合到所述N个主库和所述M个冗余库的一组写入多路复用器(MUX);并且
所述一组写入MUX包括:
第一写入MUX,所述第一写入MUX具有两个输入和耦合到所述第一库的输出,所述两个输入中的一个输入被配置为输入所述数据片段;以及
第二写入MUX,所述第二写入MUX具有两个输入和耦合到所述第二库的输出,所述两个输入被配置为分别输入所述数据片段和另一数据片段。
6.根据权利要求5所述的存储器器件,其中,所述控制逻辑还被配置为:
控制所述第一写入MUX以禁止将所述数据片段输出到所述第一库;并且
控制所述第二写入MUX以使能将所述数据片段输出到所述第二库。
7.根据权利要求4所述的存储器器件,其中,
所述I/O电路包括耦合到所述N个主库和所述M个冗余库的一组读取多路复用器(MUX);并且
所述一组读取MUX包括读取MUX,所述读取MUX具有分别耦合到所述第一库和所述第二库的两个输入以及被配置为输出所述数据片段的输出。
8.根据权利要求7所述的存储器器件,其中,所述控制逻辑还被配置为控制所述读取MUX以使能从所述第二库输出所述数据片段。
9.根据权利要求1-8中的任何一项所述的存储器器件,其中,M等于1。
10.根据权利要求9所述的存储器器件,其中,所述冗余库通过所述I/O电路耦合到所述N个主库中的两个主库。
11.根据权利要求1所述的存储器器件,其中,所述存储器器件包括三维(3D)NAND存储器器件。
12.一种系统,包括:
被配置为存储数据的存储器器件,所述存储器器件包括:
存储器单元阵列,所述存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M;
输入/输出(I/O)电路,所述输入/输出电路耦合到所述N个主库和所述M个冗余库,并且被配置为分别将N个数据片段引导到N个工作库或从所述N个工作库引导所述N个数据片段;以及
控制逻辑,所述控制逻辑耦合到所述I/O电路,并且被配置为:
基于指示所述N个主库中的K个故障主库的库故障信息从所述N个主库和所述M个冗余库确定所述N个工作库,所述N个工作库包括所述M个冗余库中的K个冗余库,其中,K为不大于M的正整数;并且
控制所述I/O电路,以分别将所述N个数据片段中的K个数据片段引导到所述K个冗余库或从所述K个冗余库引导所述N个数据片段中的所述K个数据片段;以及
耦合到所述存储器器件并且被配置为控制所述存储器器件的存储器控制器。
13.根据权利要求12所述的系统,还包括耦合到所述存储器控制器并且被配置为发送或接收所述数据的主机。
14.根据权利要求12所述的系统,其中,所述I/O电路耦合到所述N个主库和所述M个冗余库中的每一对相邻库,使得所述I/O电路被配置为将所述N个数据片段中的一个数据片段引导到一对相邻库中的任一库或从所述一对相邻库中的所述任一库引导所述N个数据片段中的所述一个数据片段。
15.根据权利要求书14所述的系统,其中,至少一对相邻库均为主库。
16.根据权利要求14或15所述的系统,其中
所述一对相邻库中的第一库是所述K个故障主库中的一个故障主库;并且
所述控制逻辑被配置为控制所述I/O电路以将数据片段引导到所述一对相邻库中的第二库或从所述一对相邻库中的所述第二库引导所述数据片段。
17.根据权利要求16所述的系统,其中
所述I/O电路包括分别耦合到所述N个主库和所述M个冗余库的一组写入多路复用器(MUX);并且
所述一组写入MUX包括:
第一写入MUX,所述第一写入MUX具有两个输入和耦合到所述第一库的输出,所述两个输入中的一个输入被配置为输入所述数据片段;以及
第二写入MUX,所述第二写入MUX具有两个输入和耦合到所述第二库的输出,所述两个输入被配置为分别输入所述数据片段和另一数据片段。
18.根据权利要求17所述的系统,其中,所述控制逻辑还被配置为:
控制所述第一写入MUX以禁止将所述数据片段输出到所述第一库;并且
控制所述第二写入MUX以使能将所述数据片段输出到所述第二库。
19.根据权利要求16所述的系统,其中
所述I/O电路包括耦合到所述N个主库和所述M个冗余库的一组读取多路复用器(MUX);并且
所述一组读取MUX包括读取MUX,所述读取MUX具有分别耦合到所述第一库和所述第二库的两个输入以及被配置为输出所述数据片段的输出。
20.根据权利要求19所述的系统,其中,所述控制逻辑还被配置为控制所述读取MUX以使能从所述第二库输出所述数据片段。
21.根据权利要求12-20中的任何一项所述的系统,其中,M等于1。
22.根据权利要求21所述的系统,其中,所述冗余库通过所述I/O电路耦合到所述N个主库中的两个主库。
23.一种用于操作存储器器件的方法,所述存储器器件包括存储器单元阵列,所述存储器单元阵列包括N个主库和M个冗余库,其中,N和M中的每一个为正整数,并且N大于M,所述方法包括:
基于指示所述N个主库中的K个故障主库的库故障信息从所述N个主库和所述M个冗余库确定N个工作库,所述N个工作库包括所述M个冗余库中的K个冗余库,其中,K为不大于M的正整数;以及
分别将N个数据片段中的K个数据片段引导到所述K个冗余库或从所述K个冗余库引导所述N个数据片段中的所述K个数据片段。
24.根据权利要求23所述的方法,还包括获得指示所述N个主库中的所述K个故障主库的所述库故障信息。
25.根据权利要求23或24所述的方法,其中,M等于1。
26.根据权利要求25所述的方法,其中,确定包括基于所述库故障信息从所述N个主库和所述冗余库中的每一对相邻库选择一个工作库。
27.根据权利要求26所述的方法,其中,引导包括将所述K个数据片段中的一个数据片段引导到所述N个主库和所述冗余库中的每一对相邻库中的选择的工作库或从所述选择的工作库引导所述K个数据片段中的所述一个数据片段。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/082696 WO2022198494A1 (en) | 2021-03-24 | 2021-03-24 | Memory device with failed main bank repair using redundant bank |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113892138A true CN113892138A (zh) | 2022-01-04 |
Family
ID=79016676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180000863.7A Pending CN113892138A (zh) | 2021-03-24 | 2021-03-24 | 具有使用冗余库的故障主库修复的存储器器件 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11726667B2 (zh) |
CN (1) | CN113892138A (zh) |
TW (1) | TWI774356B (zh) |
WO (1) | WO2022198494A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230011405A (ko) * | 2021-03-24 | 2023-01-20 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 리던던트 뱅크를 이용하여 결함 메인 뱅크를 리페어하는 메모리 디바이스 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5347484A (en) * | 1992-06-19 | 1994-09-13 | Intel Corporation | Nonvolatile memory with blocked redundant columns and corresponding content addressable memory sets |
KR100327137B1 (ko) | 1999-10-18 | 2002-03-13 | 윤종용 | 반도체 메모리 장치 및 이 장치의 리던던시 방법 |
US6397313B1 (en) | 1999-10-19 | 2002-05-28 | Advanced Micro Devices, Inc. | Redundant dual bank architecture for a simultaneous operation flash memory |
JP3597501B2 (ja) * | 2001-11-20 | 2004-12-08 | 松下電器産業株式会社 | 半導体集積回路 |
US7159141B2 (en) * | 2002-07-01 | 2007-01-02 | Micron Technology, Inc. | Repairable block redundancy scheme |
JP2004288347A (ja) | 2003-03-03 | 2004-10-14 | Renesas Technology Corp | 連想メモリ |
CN100437814C (zh) * | 2003-07-04 | 2008-11-26 | 旺宏电子股份有限公司 | 具有内建错误纠正能力的存储器元件 |
KR101388134B1 (ko) * | 2007-10-01 | 2014-04-23 | 삼성전자주식회사 | 뱅크 충돌 방지 장치 및 방법 |
US8015438B2 (en) * | 2007-11-29 | 2011-09-06 | Qimonda Ag | Memory circuit |
TWI380260B (en) * | 2007-12-06 | 2012-12-21 | Au Optronics Corp | Ambient light detection system and related method |
US8144534B2 (en) | 2009-08-25 | 2012-03-27 | Micron Technology, Inc. | Methods and memory devices for repairing memory cells |
US11119857B2 (en) * | 2012-09-18 | 2021-09-14 | Mosys, Inc. | Substitute redundant memory |
US20130117615A1 (en) | 2011-11-07 | 2013-05-09 | Su-a Kim | Semiconductor memory device and system having redundancy cells |
US9324398B2 (en) * | 2013-02-04 | 2016-04-26 | Micron Technology, Inc. | Apparatuses and methods for targeted refreshing of memory |
KR20150055933A (ko) * | 2013-11-14 | 2015-05-22 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그것의 동작 방법 |
US20160063170A1 (en) * | 2014-08-29 | 2016-03-03 | Qualcomm Incorporated | Memory redundancy reduction |
US10592367B2 (en) | 2017-09-15 | 2020-03-17 | Apple Inc. | Redundancy implementation using bytewise shifting |
KR102451163B1 (ko) * | 2018-02-01 | 2022-10-06 | 삼성전자주식회사 | 반도체 메모리 장치 및 그것의 리페어 방법 |
CN113821364A (zh) * | 2020-06-20 | 2021-12-21 | 华为技术有限公司 | 内存故障的处理方法、装置、设备及存储介质 |
-
2021
- 2021-03-24 WO PCT/CN2021/082696 patent/WO2022198494A1/en active Application Filing
- 2021-03-24 CN CN202180000863.7A patent/CN113892138A/zh active Pending
- 2021-05-06 TW TW110116358A patent/TWI774356B/zh active
- 2021-10-15 US US17/502,446 patent/US11726667B2/en active Active
-
2023
- 2023-06-20 US US18/212,026 patent/US20230333751A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220308768A1 (en) | 2022-09-29 |
TW202238605A (zh) | 2022-10-01 |
TWI774356B (zh) | 2022-08-11 |
US11726667B2 (en) | 2023-08-15 |
US20230333751A1 (en) | 2023-10-19 |
WO2022198494A1 (en) | 2022-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109840215B (zh) | 未对齐写入的处理 | |
US10936415B2 (en) | Error correction scheme in flash memory | |
US11934281B2 (en) | Memory device with failed main bank repair using redundant bank | |
CN109643575B (zh) | 以子块粒度管理固态驱动器缺陷冗余 | |
CN112860178B (zh) | 存储器装置、存储器控制器、存储器系统及其操作方法 | |
US11961561B2 (en) | Memory device and method of operating the same | |
US20230333751A1 (en) | Memory device with failed main bank repair using redundant bank | |
CN113168883B (zh) | 具有使用冗余库的故障主库修复的存储器器件 | |
KR20200120159A (ko) | 데이터 저장 장치 및 이의 동작 방법 | |
CN112908370B (zh) | 存储器装置和操作该存储器装置的方法 | |
CN113010093B (zh) | 存储器系统以及存储器控制器 | |
US11769569B2 (en) | Memory device with failed main bank repair using redundant bank | |
WO2022198829A1 (en) | Memory device with failed main bank repair using redundant bank | |
CN112084118A (zh) | 数据存储装置及其操作方法 | |
US11934254B2 (en) | Memory device with embedded firmware repairing mechanism | |
US20140063956A1 (en) | Nonvolatile memory device and operating method thereof |
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 |