CN113272902B - 使用不同格雷码的编程和读取操作以及用于执行这种操作的存储器件 - Google Patents
使用不同格雷码的编程和读取操作以及用于执行这种操作的存储器件 Download PDFInfo
- Publication number
- CN113272902B CN113272902B CN202180001107.6A CN202180001107A CN113272902B CN 113272902 B CN113272902 B CN 113272902B CN 202180001107 A CN202180001107 A CN 202180001107A CN 113272902 B CN113272902 B CN 113272902B
- Authority
- CN
- China
- Prior art keywords
- value
- gray code
- read
- memory
- program
- 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
- 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/5671—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 trapping in an insulator
-
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- 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
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- 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/24—Bit-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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/14—Conversion to or from non-weighted codes
- H03M7/16—Conversion to or from unit-distance codes, e.g. Gray code, reflected binary code
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)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Quality & Reliability (AREA)
- Read Only Memory (AREA)
Abstract
提供了一种存储器件。所述存储器件包括:布置成多行的存储单元的阵列;分别耦合到存储单元的多行的多条字线;以及耦合到字线的外围电路。外围电路被配置为:基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值,执行编程操作以基于读取格雷码将第二值作为一状态而编程到存储单元中,并且执行读取操作以基于读取格雷码从存储单元中读出将是所述第一值的所述状态。
Description
背景技术
本公开涉及存储器件及其操作。
闪存存储器是可以被电擦除并重新编程的低成本、高密度、非易失性固态存储介质。闪存存储器包括NOR闪存存储器和NAND闪存存储器。闪存存储器可以执行各种操作,例如读取、编程(写入)和擦除,以将每个存储单元的阈值电压改变为所需电平。对于NAND闪存存储器,可以在块级别执行擦除操作,可以在页级别执行编程操作或读取操作。
发明内容
在一个方面,一种存储器件包括:布置成多行的存储单元的阵列;分别耦合到存储单元的多行的多条字线;以及耦合到字线的外围电路。外围电路被配置为:基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值,执行编程操作以基于读取格雷码将第二值作为一状态而编程到存储单元中,并且执行读取操作以基于读取格雷码从存储单元中读出将是所述第一值的所述状态。
在另一方面,提供了一种用于操作存储器件的方法。该存储器件包括布置成多行的存储单元的阵列和分别耦合到存储单元的多行的多条字线。该方法包括:基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值;执行编程操作以基于读取格雷码将第二值作为一状态而编程到存储单元中;以及执行读取操作以基于读取格雷码从存储单元中读出将是所述第一值的所述状态。
在另一方面,一种系统包括:布置成多行的存储单元的阵列;分别耦合到存储单元的多行的多条字线;以及耦合到字线的外围电路。外围电路被配置为:基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值,执行编程操作以基于读取格雷码将第二值作为一状态而编程到存储单元中,并且执行读取操作以基于读取格雷码从存储单元中读出将是所述第一值的所述状态。该系统还包括耦合到该存储器件并被配置为控制该存储器件的存储器控制器。
附图说明
并入本文中并构成说明书的一部分的附图示出了本公开的各方面,并且与说明书一起进一步用于解释本公开的原理,并使相关领域的技术人员能够做出和使用本公开。
图1A示出了根据本公开的一些方面的具有存储器件的示例性系统的框图。
图1B示出了根据本公开的一些方面的具有存储器件的示例性存储卡的示图。
图1C示出了根据本公开的一些方面的具有存储器件的示例性固态驱动器(SSD)的示图。
图2示出了根据本公开的一些方面的包括存储单元阵列和外围电路的示例性存储器件的框图。
图3示出根据本公开的一些方面的包括外围电路的示例性存储器件的示意性电路图。
图4示出了根据本公开的一些方面的示例性存储阵列器件的横截面。
图5示出了根据本公开的一些方面的四电平单元(QLC)中的16种可能状态。
图6A示出了根据本公开的一些方面的用于示例性存储阵列器件中的串中的存储单元上的16-16方案的格雷码。
图6B示出了根据本公开的一些方面的用于8-16方案的格雷码。
图7示出了根据本公开的一些方面的示例性转换过程。
图8示出了根据本公开的一些方面的用于执行编程操作和读取操作的示例性方法的流程图。
将参考附图描述本公开的各方面。
具体实施方式
尽管讨论了具体的构造和布置,但是应当理解,这样做仅是出于说明的目的。这样,在不脱离本公开的范围的情况下,可以使用其他构造和布置。而且,本公开还可以用于多种其他应用中。如在本公开中描述的功能和结构特征可以以未在附图中具体描绘的方式彼此组合、调整和修改,使得这些组合、调整和修改在本公开的范围内。
通常,可以至少部分地根据上下文中的使用来理解术语。例如,至少部分地取决于上下文,本文所使用的术语“一个或多个”可以用于以单数意义描述任何特征、结构或特性,或者可以用于以复数意义描述特征、结构或特性的组合。类似地,至少部分地取决于上下文,诸如“一”或“所述”的术语可以同样被理解为传达单数用法或传达复数用法。另外,同样至少部分地取决于上下文,术语“基于”可以被理解为不一定旨在传达一组排他的因素,并且可以代替地允许存在不一定明确描述的附加因素。
由于对更高存储容量的需求,NAND闪存存储器件中的存储单元被配置为能够存储多于1位的存储器数据。nLC NAND闪存单元可以具有2n个状态(例如,电荷范围),并且可以存储n位数据。例如,将存储两个电荷范围的nLC NAND闪存单元称为1位2状态(n=1)SLC单元;将存储四个电荷范围的nLC NAND闪存单元称为2位4状态(n=2)MLC单元;将存储八个电荷范围的nLC NAND闪存单元称为3位8状态(n=3)TLC单元;并且将存储十六个电荷范围的nLC NAND闪存单元称为4位16状态(n=4)QLC单元。2n个状态包括1个擦除状态和(2n-1)个编程状态。nLC NAND闪存单元的块包括由字线(例如,栅极导电层)和存储串的交叉点形成的存储单元,并且从nLC NAND闪存单元逐页地编程/读取数据。在编程操作期间,将nLC NAND闪存单元编程为具有2n个状态,并将n位数据作为所述状态之一写入nLC NAND闪存单元中。例如,QLC NAND闪存单元可以存储4位数据,分别代表下层页数据(LP)、中间页数据(MP)、上层页数据(UP)和额外页数据(XP)。在NAND闪存存储器件中,块中的每条字线耦合到多个页的nLC NAND闪存单元,使得一页的nLC NAND闪存单元可以存储n页的数据,例如,对于SLCNAND闪存单元为1页,对于MLC NAND闪存单元为2页,对于TLC NAND闪存单元为3页,并且对于QLC NAND闪存单元为4页。
在将数据编程到NAND闪存存储器件中之前,首先使用格雷码转化/编码来转化/编码二进制编码值形式的数据,以形成格雷编码的编程值。格雷码是数字的编码,因此相邻数字的单个位值相差1。在NAND闪存存储器件的编程和读取操作中使用格雷编码的编程值可以更容易地进行纠错。然后,可以将格雷编码的编程值编程到NAND闪存存储器件中并从NAND闪存存储器件读取。具体地,对于QLC NAND闪存存储器件,可以将两种方案(8-16方案和16-16方案)用于编程和读取操作。根据8-16方案,首先在粗略编程遍(例如,非最后编程遍)中将NAND闪存单元编程为8个中间电平,然后在精细编程遍(例如,最后编程遍)中将NAND闪存单元编程为16个电平(对应于QLC NAND闪存单元的16个状态的16个阈值电压电平)。根据16-16方案,首先在粗略编程遍中将NAND闪存单元编程为较宽分布的16个电平,然后在精细编程遍中将其重新编程为较窄分布的16个电压电平。为了读取电平,在QLC NAND闪存单元上施加相应的读取电压以读取状态并确定状态。使用这两种方案编程的电平对于其读取操作而言是能够分别读取的。
图6A示出了在16-16方案中用于QLC NAND闪存单元的编程和读取操作的格雷码查找表(LUT)。图6B示出了在8-16方案中用于QLC NAND闪存单元的编程和读取操作的两个格雷码LUT。每个LUT描述了QLC NAND闪存单元的状态与映射的格雷编码的编程值之间的映射关系。如图6A和图6B所示,在读取操作中,使用16-16方案,4位数据用于在粗略编程遍和精细编程遍两者中执行;使用8-16方案,3位数据用于执行粗略编程(如LUT 1中所示)并且4位数据用于执行精细编程(如LUT 2中所示)。在读取操作中,为了读取QLC NAND闪存单元的状态,使用16-16方案,在每个编程中读取每页数据分别需要4、4、4和3个读取次数;使用8-16方案,在精细编程中读取额外页数据需要8个读取次数。
比较8-16和16-16方案,8-16方案的编程速度更快,但是由于读取额外页数据需要不希望的高数量的读取操作,因此读取裕量较小,读取时间较长;并且16-16方案的编程速度较慢,但读取裕量较大,读取时间较短。QLC NAND闪存存储器件的编程操作和读取操作需要改进。
本公开提供了一种用于在存储器件中执行编程和读取操作的新颖方法、存储器件及其系统。在操作nLC NAND闪存存储器件时,采用所公开的方法来组合较快的编程操作和较快的读取操作。根据该方法,首先将用户数据(例如,二进制编码值)转化为在读取操作中使用第一方案可读取的第一格雷编码的编程值(例如,第一值)。第一方案有助于较快的读取操作。然后,将第一格雷编码的编程值转换为第二格雷编码的编程值(例如,第二值),该第二格雷编码的编程值对应于有助于较快的编程操作的第二方案。然后,使用第一方案将第二格雷编码的编程值编程到nLC闪存存储器件中以及从nLC闪存存储器件读取第二格雷编码的编程值。采用格雷编码的读取值的形式的存储器数据读数与第一格雷编码的编程值相同。
从第一格雷编码的编程值到第二格雷编码的编程值的转换基于读取格雷码和编程格雷码之间的映射关系。可以在nLC NAND闪存单元或逻辑运算在格雷编码的编程值之间的相同状态的映射之间实施映射关系。第一格雷编码的编程值和第二格雷编码的编程值可以对应于nLC NAND闪存单元在读取格雷码和编程格雷码中的相同状态。在一些实施方式中,可以首先确定映射到读取格雷码中的第一格雷编码的编程值的状态,然后可以通过将该状态与编程格雷码中的对应格雷编码值映射来确定第二格雷编码的编程值。
作为示例,在QLC NAND闪存存储器件中,存储单元具有与16个电荷范围相对应的16个状态。QLC NAND闪存单元可以存储4位数据,分别包括下层页数据(LP)、中间页数据(MP)、上层页数据(UP)和额外页数据(XP)。首先将四位数据从二进制编码值转化为第一格雷编码的编程值,然后基于读取格雷码与编程格雷码之间的映射关系将第一格雷编码的编程值转换为第二格雷编码的编程值。使用16-16方案将第二格雷编码的编程值作为电平(例如阈值电压电平或状态)编程为16个电荷范围中的一个。可以使用16-16方案从QLC NAND闪存单元中以格雷编码的读取值的形式读出该电平。格雷编码的读取值与第一格雷编码的编程值相同。在一些实施例中,被配置为在第一和第二格雷编码的编程值之间执行转换的转换单元是QLC NAND存储器件的外围电路的一部分。例如,转换单元可以是控制逻辑单元的一部分或控制逻辑单元的单独部分。耦合到QLC NAND闪存存储单元的数据缓冲器用于为编程和读取操作缓冲4位数据。
与使用相同格雷码的编程和读取操作相比,所公开的方法有助于“较快”的编程操作和“较快”的读取操作的组合。可以缩短/优化用于nLC NAND闪存存储单元(例如,QLCNAND闪存存储单元)中的读取操作的总时间。可以改善nLC NAND闪存存储器件的性能。
图1A示出了根据本公开的一些方面的具有存储器件的示例性系统100的框图。系统100可以是移动电话、台式计算机、膝上型计算机、平板电脑、车辆计算机、游戏机、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(VR)设备、增强现实(AR)设备、或其中具有存储装置的任何其他合适的电子设备。如图1A所示,系统100可以包括主机108和具有一个或多个存储器件104和存储器控制器106的存储器系统102。主机108可以是电子设备的处理器(例如中央处理单元(CPU))或片上系统(SoC)(例如应用处理器(AP))。主机108可以被配置为向存储器件104发送数据或从存储器件104接收数据。
存储器件104可以是本文公开的任何存储器件,例如NAND闪存存储器件。与本公开的范围一致,存储器控制器106可以将二进制编码值转化为第一格雷编码的编程值。存储器件104(例如,存储器件104的外围电路)可以将第一格雷编码的编程值转换为第二格雷编码的编程值。存储器控制器106可以例如通过存储器件104的外围电路来控制存储器件104上的编程和读取操作。在编程操作中,第二格雷编码的编程值作为代表存储单元(例如,nLCNAND闪存单元)的2n个状态中的一个的电平被编程到存储器件104中的存储单元中。在读取操作中,读出状态和编程的电平。读取操作产生的格雷编码的读取值与第一格雷编码的编程值相同。虽然使用具有较短读取时间的第一方案(例如16-16方案)执行编程和读取操作,但是第二格雷编码的编程值对应于具有较短编程时间的第二方案(例如8-16方案)。在一些实施方式中,使用第二方案(例如,8-16方案)执行编程操作,并且使用第一方案(例如,16-16方案)执行读取操作。
根据一些实施方式,存储器控制器106耦合到存储器件104和主机108,并被配置为控制存储器件104。存储器控制器106可以管理存储在存储器件104中的数据并与主机108通信。在一些实施方式中,存储器控制器106被设计用于在低占空比环境中操作,所述低占空比环境例如是安全数字(SD)卡、紧凑型闪存(CF)卡、通用串行总线(USB)闪存驱动器、或用于电子设备(例如个人计算机、数码相机、移动电话等)中的其他介质。在一些实施方式中,存储器控制器106被设计用于在高占空比环境中操作,所述高占空比环境例如是用作诸如智能手机、平板电脑、膝上型计算机等的移动设备的数据存储装置的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并将其封装到不同类型的最终电子产品中。在如图1B所示的一个示例中,存储器控制器106和单个存储器件104可以集成到存储卡112中。存储卡112可以包括PC卡(PCMCIA,个人计算机存储卡国际协会)、CF卡、智能媒体(SM)卡、存储棒、多媒体卡(MMC、RS-MMC、MMCmicro)、SD卡(SD、miniSD、microSD、SDHC)、UFS等。存储卡112还可以包括将存储卡112与主机(例如,图1A中的主机108)耦合的存储卡连接器114。在如图1C所示的另一示例中,存储器控制器106和多个存储器件104可以集成到SSD 116中。SSD 116还可以包括将SSD116与主机(例如,图1A中的主机108)耦合的SSD连接器118。在一些实施方式中,SSD 116的存储容量和/或操作速度大于存储卡112的存储容量和/或操作速度。
图2示出了示例性存储器件104(例如NAND闪存存储器)的示图,存储器件104具有存储单元阵列202和外围电路,外围电路包括页缓冲器204、列解码器/位线驱动器206、行解码器/字线驱动器208、电压发生器210、控制逻辑单元212、寄存器214和接口216。图3示出了示例性存储器件104的示意性电路图,存储器件104包括存储单元阵列202和耦合至存储单元阵列202的外围电路302。为了便于说明,一起描述图2和图3中的一些部件。外围电路302可以包括图2中的页缓冲器204、列解码器/位线驱动器206、行解码器/字线驱动器208、电压发生器210,控制逻辑单元212、寄存器214、接口216以及转换单元220。应当理解,在一些示例中,也可以包括附加的外围电路。
如图3所示,存储单元阵列202可以是NAND闪存存储单元阵列,其中以NAND存储串308的阵列的形式提供存储单元306,每个NAND存储串308在衬底(未示出)上方垂直延伸。在一些实施方式中,每个NAND存储串308包括串联耦合并且垂直堆叠的多个存储单元306。每个存储单元306可以保存连续的模拟值,例如电压或电荷,其取决于在存储单元306的区域内捕获的电子的数量。每个存储单元306可以是包括浮栅晶体管的浮栅类型的存储单元、或包括电荷捕获晶体管的电荷捕获类型的存储单元。
在一些实施方式中,每个存储单元306是具有两个可能的存储状态并且因此可以存储一位数据的单电平单元(SLC)。例如,第一存储状态“0”可以对应于第一电压范围,并且第二存储状态“1”可以对应于第二电压范围。在一些实施方式中,每个存储单元306能够以多于四个存储状态来存储多于单个位的数据。例如,存储单元306可以每个单元存储两位(也称为多电平单元(MLC)),每个单元存储三位(也称为三电平单元(TLC)),或每个单元存储四位(也称为四电平单元(QLC))。每个存储单元306可以被编程为采取一定范围的可能值。在一个示例中,如果每个存储单元306存储两位数据,则可以通过将三个可能电平中的一个写入到该单元来将存储单元306从擦除状态编程为采取三个可能的编程电平中的一个。第四电平可以用于擦除状态。为了便于描述,存储单元306可以被表示为nLC,n是每个单元存储的位数,并且可以是1、2、3、4,...等之一。作为示例,在本公开中,n等于4,并且存储单元306是具有16个状态并且可以被编程为存储16个(即24个)电平的QLC。
图5示出了根据一些实施方式的针对存储单元306的读取阈值电压的读取概率与位值的对比。如图5所示,存储单元306可以被编程为具有16个状态,包括一个擦除状态和15个编程状态。存储单元306可以被编程为代表16个状态之一的电平。然后可以用4位的页数据(即,下层页数据、中间页数据、上层页数据和额外页数据)来表示该电平。为了便于说明,在图5中,从每个电荷范围的底部到顶部示出下层页数据、中间页数据、上层页数据和额外页数据。在编程操作中,可以将具有4位的页数据的第二格雷编码的编程值编程成为存储单元306的16个状态之一。在读取操作中,可以读出4位的页数据。
如图3所示,每个NAND存储串308可以在其源极端包括SSG 310,在其漏极端包括DSG 312。SSG 310和DSG 312分别是SSG晶体管和DSG晶体管的栅电极,并且可以被配置为在读取和编程操作期间激活选定的NAND存储串308(阵列的列)。在一些实施方式中,同一块304中的NAND存储串308的SSG 310通过同一源极线(SL)314(例如,公共SL)耦合到例如地。根据一些实施方式,每个NAND存储串308的DSG 312耦合到相应位线316,可以经由输出总线(未示出)从相应位线316读取数据。在一些实施方式中,每个NAND存储串308被配置为通过如下方式而被选择或取消选择:通过一条或多条DSG线313将选择电压(例如,高于具有DSG312的晶体管的阈值电压)或取消选择电压(例如,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耦合到存储单元阵列202。外围电路302可以在位线316、字线318、源极线314、SSG线315和DSG线313上施加电压以执行编程操作。如上所述,外围电路302可以包括任何合适的电路,其用于通过经由位线316将电压信号和/或电流信号施加到每个目标存储单元306并且经由字线318、源极线314、SSG线315和DSG线313从每个目标存储单元306感测电压信号和/或电流信号,来有助于存储单元阵列202的操作。外围电路302可以包括使用金属-氧化物-半导体(MOS)技术形成的各种类型的外围电路。
图4示出了根据本公开的一些方面的示例性存储单元阵列202的横截面。如图4所示,存储单元阵列202包括NAND存储串410,其可以是图3中的NAND存储串308的示例,其在衬底402上方垂直延伸。衬底402可以包括硅(例如单晶硅)、硅锗(SiGe)、砷化镓(GaAs)、锗(Ge)、绝缘体上硅(SOI)、绝缘体上锗(GOI)或任何其他合适的材料。注意,在图4中包括x、y和z轴以进一步示出存储单元阵列202中的部件的空间关系。衬底402包括在x方向(即,横向方向)上横向延伸的两个横向表面(例如,顶表面和底表面)。如本文中所使用,当衬底(例如,衬底402)在z方向(即,垂直方向或深度方向)上位于半导体结构(例如,存储单元阵列202)的最低平面中时,在z方向上半导体结构的一个部件是在另一部件“上”、“上方”还是“下方”是相对于半导体结构的衬底确定的。在整个本公开中,应用了用于描述空间关系的相同概念。
如图4所示,NAND存储串410垂直延伸穿过衬底402上方的具有交错的栅极导电层406和栅极到栅极电介质层408的存储器堆叠层404。存储器堆叠层404中的栅极导电层406和栅极到栅极电介质层408可以在垂直方向上交替。每个栅极导电层406可以包括导电材料,该导电材料包括但不限于钨(W)、钴(Co)、铜(Cu)、铝(Al)、多晶硅、掺杂硅、硅化物或其任何组合。在一些实施方式中,每个栅极导电层406包括金属层,例如钨层。在一些实施方式中,每个栅极导电层406包括掺杂的多晶硅层。每个栅极导电层406可以包括围绕存储单元(例如,图3中的存储单元306)、DSG(例如,图3中的DSG 312)、或SSG(例如,图3中的SSG 310)的控制栅极,并且可以作为存储器堆叠层404顶部处的DSG线(例如,图3中的DSG线313)、存储器堆叠层404底部处的SSG线(例如,图3中的SSG线315)、或DSG线与SSG线之间的字线(例如,图3中的字线318)横向延伸。
如图4所示,NAND存储串410包括垂直延伸穿过存储器堆叠层404的沟道结构412。在一些实施方式中,沟道结构412包括填充有半导体材料(例如,作为半导体沟道420)和电介质材料(例如,作为存储器膜418)的沟道孔。在一些实施方式中,半导体沟道420包括硅,例如非晶硅、多晶硅或单晶硅。在一些实施方式中,存储器膜418是包括隧穿层426、存储层424(也称为“电荷捕获/存储层”)和阻挡层422的复合电介质层。沟道结构412可以具有圆柱形状(例如,柱形形状)。根据一些实施方式,半导体沟道420、隧穿层426、存储层424、阻挡层422按此顺序从柱的中心朝向柱的外表面沿径向布置。隧穿层426可以包括氧化硅、氮氧化硅或其任何组合。存储层424可以包括氮化硅、氮氧化硅、硅或其任何组合。阻挡层422可以包括氧化硅、氮氧化硅、高介电常数(高k)电介质或其任何组合。在一个示例中,存储器膜418可以包括氧化硅/氮氧化硅/氧化硅(ONO)的复合层。
在一些实施方式中,NAND存储串410还包括在NAND存储串410的下部部分中(例如,在下端处)的半导体插塞414。半导体插塞414可以包括诸如单晶硅的半导体材料,其在任何合适的方向上从衬底402外延生长。半导体插塞414可以用作NAND存储串410的源极选择晶体管(例如,图3中的具有SSG 310的源极选择晶体管)的沟道的一部分。在一些实施方式中,NAND存储串410还包括在NAND存储串410的上部部分中(例如,在上端处)的沟道插塞416。在一些实施方式中,沟道插塞416可以用作NAND存储串410的漏极选择晶体管(例如,图3中的具有DSG 312的漏极选择晶体管)的沟道。如本文中所使用,当衬底402位于存储单元阵列202的最低平面中时,部件(例如,沟道结构412)的上端是在z方向上更远离衬底402的一端,并且部件(例如,沟道结构412)的下端是在z方向上更靠近衬底402的一端。
在编程操作中,在块中耦合到同一字线(例如,字线318)的存储单元(例如,存储单元306)可以被施加相同的编程电压/脉冲和验证电压。在一些实施方式中,经由相应的位线(例如,位线316)为每个NAND存储串410施加相应的电压,以用于编程和读取操作。为了对NAND存储串410执行编程和读取操作,控制逻辑单元212可以控制每个外围电路302施加相应的电压。如下示出细节。
返回参考图2,页缓冲器204可以被配置为根据来自控制逻辑单元212的控制信号从存储单元阵列202读取数据以及将数据编程(写入)到存储单元阵列202。在一个示例中,页缓冲器204可以存储要编程到存储单元阵列202的一页320中的编程数据(写入数据)。在另一示例中,页缓冲器204可以执行编程验证操作以确保数据已经被正确地编程到耦合到选定字线318的存储单元306中。在又一示例中,页缓冲器204还可以感测来自位线316的代表存储在存储单元306中的数据位的电压,并且在读取操作中将小电压摆幅放大到可识别的逻辑电平。在一些实施例中,每个NAND存储串410耦合到页缓冲器204,其可以包括多个锁存器以用于缓冲去往和来自每个NAND存储串410中的存储单元的数据。例如,每个NAND存储串410可以耦合到4个锁存器,以用于缓冲去往和来自NAND存储串410中的存储单元306的4位数据。
列解码器/位线驱动器206可以被配置为由控制逻辑单元212控制,并且通过施加由电压发生器210生成的位线电压来选择一个或多个NAND存储串410。行解码器/字线驱动器208可以被配置为由控制逻辑单元212控制,并且选择存储单元阵列202的块304以及选定块304的字线318。行解码器/字线驱动器208可以进一步被配置为使用由电压发生器210生成的字线电压来驱动选定字线318。电压发生器210可以被配置为由控制逻辑单元212控制,并生成字线电压(例如,读取电压、编程电压、通过电压、局部电压和验证电压)以提供给存储单元阵列202。在一些实施例中,在控制逻辑单元212的控制下,行解码器/字线驱动器208基于在页缓冲器204中缓冲的第二格雷编码的编程值在选定字线318上施加编程电压/脉冲。
可选地,存储器件104包括耦合到转换单元220和页缓冲器204(和/或列解码器/位线驱动器206)的输入/输出(I/O)电路207。来自I/F 216的数据可以直接或经由I/O电路207路由到页缓冲器204中。在一些实施方式中,I/O电路207可以将从数据总线218输入的数据引导到存储单元阵列202的期望的存储单元区域,以及将数据从期望的存储单元区域输出到数据总线218。
转换单元220可以包括被配置为将第一格雷编码的编程值转换为第二格雷编码的编程值的任何合适的电路和/或固件/软件。在一个示例中,转换单元220可以由专用的集成电路(例如,专用集成电路(ASIC))实施。在另一示例中,转换单元220可以由在处理器(例如,微控制器单元(MCU))上运行的固件/软件代码来实施。转换单元220可以由控制逻辑单元212控制。转换单元220可以是控制逻辑单元212的一部分(例如,内部),或者可以是与控制逻辑单元212分开的部分。作为本公开中的示例,转换单元220被描绘为控制逻辑单元212的单独的部分。转换单元220也可以耦合到I/F 216和页缓冲器204。可以将要编程到存储单元阵列202中的数据经由数据总线218从I/F 216输入到转换单元220。在被转换之后,待编程的数据可以由转换单元220输出并且经由数据总线218(和I/O电路207,如果有的话)缓冲到页缓冲器204中。从存储单元阵列202读出的数据可以缓冲到页缓冲器204中,并经由数据总线218进一步缓冲到I/F 216中。
在一些实施例中,存储器控制器106可以将要编程的数据(例如,用户数据)从二进制编码值转化为第一格雷编码的编程值。转换单元220可以经由数据总线218接收第一格雷编码的编程值,并且将第一格雷编码的编程值转换为第二格雷编码的编程值。页缓冲器204可以在将第二格雷编码的编程值输出到存储单元阵列202之前对其进行缓冲。在编程操作中,行解码器/字线驱动器208可以在选定字线318上施加编程电压/脉冲以将第二格雷编码的编程值编程到页320中的存储单元306中。页320中的每个存储单元306因此可以被编程到相应的电平/状态。在读取操作中,行解码器/字线驱动器208和列解码器/位线驱动器206可以在页320中的存储单元306上施加相应的电压以读出电平。可以将这些电平读出为格雷编码的读取值。页缓冲器204可以在将格雷编码的读取值输出到I/F 216之前对其进行缓冲。在一些实施例中,格雷编码的读取值与第一格雷编码的编程值相同。
如前所述,第一格雷编码的编程值对应于较高读取速度的第一方案,并且第二格雷编码的编程值对应于较高编程速度的第二方案。在一些实施例中,存储单元306是具有16个状态的QLC,第一方案是16-16方案,并且第二方案是8-16方案。如图6A和图6B所示,每个格雷码描述了存储单元的16个状态和映射的格雷编码值,例如,具有4位数据。例如,基于图6A所示的第一格雷码,状态2被映射到格雷编码值0110,并且基于图6B中的LUT 2中所示的第二格雷码,状态2被映射到格雷编码值0110。在本公开中,第一格雷码也可以被称为读取格雷码,并且第二格雷码也可以被称为编程格雷码。
转换单元220可以采用各种方式为存储单元306(例如,QLC)将第一格雷编码的编程值转换为第二格雷编码的编程值。在一些实施方式中,在接收到四页(例如,分别为下层页数据、中间页数据、上层页数据和额外页数据的4位)的第一格雷编码的编程值后,转换单元220例如使用图6A中的LUT根据第一格雷码来确定第一格雷编码的编程值的状态。然后,转换单元220可以使用图6B中的LUT 2来确定映射到所确定的状态的格雷编码值。该格雷编码值可以形成第二格雷编码的编程值。然后可以在编程操作中使用16-16方案将第二格雷编码的编程值编程到存储单元306中。即,行解码器/字线驱动器208可以在选定字线318上施加编程电压/脉冲以执行粗略编程,以将存储单元306编程到较宽分布的16个状态,并且随后进行精细编程,以将存储单元306编程到较窄分布的16个状态。可以将具有4位数据的第二格雷编码的编程值作为电平而编程成为16个状态中的一个。在读取操作中,使用16-16方案读出电平。读取操作所得的格雷编码的读取值与第一格雷编码的编程值相同。
在示例中,一个存储单元306的第一格雷编码的编程值[1011]可以通过数据总线218输入到转换单元220中。转换单元220可以首先基于图6A中的LUT来确定与[1011]相对应的存储单元306的状态。该状态被确定为“11”。转换单元220然后可以确定映射到图6B中的LUT 2中的状态“11”的格雷编码值。如图6A和图6B所示,状态“11”对应于[1101],然后将其确定为第二格雷编码的编程值。然后在编程操作中使用16-16方案将第二格雷编码的编程值作为电平而编程到存储单元306中。在读取操作中,使用16-16方案读出所述电平。读取操作所得的格雷编码的读取值为[1011]。
在另一示例中,在编程操作中使用8-16方案将第二格雷编码的编程值作为电平而编程到存储单元306中。在一些实施方式中,转换单元220可以确定与LUT 1中的状态“11”相对应的格雷编码值,例如,在该示例中为状态“5”,并且使用粗略编程遍(例如,第一遍)将[110]编程到存储单元306中。转换单元220可以进一步使用精细的粗略编程遍(例如,第二遍)将[1101]编程到存储单元306。在读取操作中,使用16-16方案读出所述电平。读取操作所得的格雷编码的读取值为[1011]。在其他各种实施方式中,使用其他方案以编程操作中期望的快速速度将第二格雷编码的编程值编程到存储单元306中。
在一些实施方式中,转换单元220基于逻辑算法将第一格雷编码的编程值转换为第二格雷编码的编程值。例如,对于一个存储单元306,第一格雷编码的编程值被表示为A0A1A2A3,其中A0、A1、A2和A3中的每个分别表示下层页数据、中间页数据、上层页数据和额外页数据中的不同的一个的位值。第二格雷编码的编程值表示为B0B1B2B3,其中B0、B1、B2和B3中的每个分别表示下层页数据、中间页数据、上层页数据和额外页数据中的不同的一个的位值。为了便于说明,An和Bn表示同一页的位值,n是0、1、2、3。转换单元220可以确定B0等于A0⊕(A1⊕A2⊕A3)⊕(B1⊕B2⊕B3)。例如,如果A0表示第一格雷编码的编程值中的上层数据页的位值,则B0表示第二格雷编码的编程值中的上层数据页的位值。B0的位值可以通过在如下值之间执行异或运算来确定:A0;第一格雷编码的编程值中的下层页数据、中间页数据和额外页数据的位值之间的异或运算的值;以及第二格雷编码的编程值中的下层页数据、中间页数据和额外页数据的位值之间的异或运算的值。
在一些实施例中,页缓冲器204存储要编程和读出的所有页的位,例如,对于所有四页数据的4位。在一些实施例中,在编程操作中,页缓冲器204在用于下一存储单元306的第二格雷编码的编程值的4位缓冲进来之前,缓冲来自I/O电路207的第二格雷编码的编程值的4位并将第二格雷编码的编程值输出到正被编程的页320中的存储单元306。在一些实施例中,在读取操作中,页缓冲器204在缓冲用于下一存储单元306的格雷编码的读取值的4位缓冲进来之前,缓冲从页320中的存储单元306读取的格雷编码的读取值的4位,并将格雷编码的读取值输出到I/O电路207。
控制逻辑单元212可以耦合到上述每个外围电路,并且被配置为控制每个外围电路的操作。寄存器214可以耦合到控制逻辑单元212,并且包括状态寄存器、命令寄存器、和用于存储用于控制每个外围电路的操作的状态信息、命令操作码(OP码)和命令地址的地址寄存器。接口216可以耦合到控制逻辑单元212,并且用作控制缓冲器以缓冲从主机(未示出)接收的控制命令并转发到控制逻辑单元212以及缓冲从控制逻辑单元212接收的状态信息并转发到主机。接口216也可以经由数据总线218耦合到I/O电路207,并且用作数据I/O接口和数据缓冲器,以缓冲从主机(未示出)接收的写入数据并将其转发到I/O电路207以及缓冲来自I/O电路207的读取数并将其转发到主机。例如,接口216可以包括耦合到数据总线218的数据I/O 217。
图7示出了根据一些实施方式的示出了在编程操作和读取操作中采用的某些元件的示图。图8是根据本公开的一些实施方式的用于操作存储器件以执行编程操作和读取操作的示例性方法800的流程图。图8中所描绘的存储器件的示例包括图1A中所描绘的存储器件104。为了便于说明,可以考虑图2、图3、图6A、图6B和图7中所示的操作来描述图8。应当理解,方法800中示出的操作不是穷举的,并且也可以在任何所示的操作之前、之后或之间执行其他操作。此外,一些操作可以同时执行,或者以与图8所示不同的顺序执行。在一些实施方式中,方法800由外围电路302执行。具体地,字线驱动器(例如208)可以被配置为在字线、DSG线和SSG线上施加电压,并且位线驱动器(例如206)可以被配置为在位线上施加电压。
参考图8,方法800开始于操作802,其中,接收第一值。该操作可以由转换单元(例如220)执行,该转换单元由控制逻辑单元(例如212)控制。如图7中所示,第一值(例如图2和图3中所示的第一格雷编码的编程值)可以由转换单元接收。可以从存储器件的I/F(例如,I/F 216)路由第一值,并且可以由控制逻辑单元来控制第一值的接收。在转换单元或I/F接收到第一值之前,可以从二进制编码值转化出所述第一值。
返回参考图8,方法800进行到操作804,其中将第一值转换为第二值。该操作可以由控制逻辑单元控制的转换单元执行。如图7所示,第二值(例如,图2和3中所示的第二格雷编码的编程值)可以由转换单元生成。可以基于第一格雷码和第二格雷码之间的映射关系从第一值转换第二值。第一和第二值映射到存储单元在第一和第二格雷码两者中的相同状态。在一些实施方式中,第一格雷码对应于第一方案,并且第二格雷码对应于第二方案。第二值从第一值的转换可以参考图2、图3、图6A、和图6B的描述,并且在本文中不再重复。
返回参考图8,方法800进行到操作806,其中使用第一方案将第二值编程到存储单元阵列中的存储单元中。该操作可以由均由控制逻辑单元控制的行解码器/字线驱动器(例如208)、列解码器/位线驱动器(例如206)和页缓冲器(例如204)来执行。可以将存储单元编程为2n个状态,n为1、2、3、4,...等。可以使用第一方案将第二值作为一个电平编程成为所述状态之一,使得所述电平能够在后续的读取操作中使用相同的方案来读取。编程操作可以参考图2、图3、图6A、和图6B的描述,并且在本文中不再重复。
返回参考图8,方法800进行到操作808,其中使用第一方案读出存储单元中的电平。该操作可以由均由控制逻辑单元控制的行解码器/字线驱动器、列解码器/位线驱动器和页缓冲器执行。使用第一方案读出所述电平。读出值是第一值。读取操作可以参考图2、图3、图6A、和图6B的描述,并且在本文中不再重复。
本公开的一方面提供了一种存储器件。该存储器件包括:布置成多行的存储单元的阵列;分别耦合到存储单元的多行的多条字线;以及耦合到字线的外围电路。外围电路被配置为:基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值,执行编程操作以基于读取格雷码将第二值作为一状态而编程到存储单元中,并且执行读取操作以基于读取格雷码从存储单元中读出将是所述第一值的所述状态。
在一些实施方式中,外围电路包括被配置为将第一值转换为第二值的转换单元。读取格雷码和编程格雷码中的每个包括存储单元的多个状态和相应的映射的格雷编码值。第一值和第二值被映射到存储单元在读取格雷码和编程格雷码中的相同状态。
在一些实施方式中,外围电路包括耦合至转换单元的控制逻辑单元以及耦合至控制逻辑单元和多条字线的字线驱动器。控制逻辑单元被配置为分别基于第二值和第一值来生成多个控制信号。字线驱动器被配置为基于多个控制信号在耦合到存储单元的一行字线上施加字线电压,以分别执行编程操作和读取操作。
在一些实施方式中,存储单元被配置为存储N页的N位数据;并且格雷编码的编程值包括N位数据。
在一些实施方式中,存储器件还包括其中存储单元位于其中的存储串。外围电路包括耦合到存储串的页缓冲器、耦合到页缓冲器和存储串的位线、以及耦合到位线和控制逻辑单元的位线驱动器。为了执行编程操作,页缓冲器被配置为缓冲N位数据,位线驱动器被配置为选择存储串,并且字线驱动器被配置为基于N位数据在一行字线上施加编程电压。为了执行读取操作,位线驱动器被配置为选择存储串,字线驱动器被配置为基于N位数据在一行字线上施加读取电压,并且页缓冲器被配置为缓冲N位数据。
在一些实施方式中,读取格雷码和编程格雷码均包括查找表,该查找表分别包括存储单元的多个状态与相应的格雷编码值之间的映射关系。在一些实施方式中,转换单元被配置为:接收第一值,基于读取格雷码确定与第一值相对应的状态,并且基于编程格雷码确定映射到该状态的一个格雷编码值,所述一个格雷编码值是第二值。
在一些实施方式中,第一值包括N页的N位数据,并且转换单元被配置为通过如下方式将第一值中的一位转换为第二值中的相应位:在第一值中的表示(N-1)页的(N-1)位之间执行异或(XOR)运算以获得第一XOR值;在第二值中的表示(N-1)页的(N-1)位之间执行XOR运算以获得第二XOR值;并且在第一值中的所述一位、第一XOR值和第二XOR值之间执行XOR运算,以获得第二值中的相应位。
在一些实施方式中,转换单元是控制逻辑单元的一部分。
在一些实施方式中,转换单元是控制逻辑单元的单独部分,并且在外围电路的数据接口与存储单元的页缓冲器之间。
在一些实施方式中,存储单元是具有16个状态并被配置为存储4页的4位数据的QLC。
本公开的另一方面提供了一种用于操作存储器件的方法,该存储器件包括布置成多行的存储单元的阵列和分别耦合到存储单元的多行的多条字线。该方法包括:基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值;执行编程操作以基于读取格雷码将第二值作为一状态而编程到存储单元中;以及执行读取操作以基于读取格雷码从存储单元中读出将是所述第一值的所述状态。
在一些实施方式中,读取和编程格雷码中的每个包括存储单元的多个状态和相应的映射的格雷编码值。在一些实施方式中,将第一值转换为第二值包括将第一值和第二值映射到存储单元在读取格雷码和编程格雷码中的相同状态。
在一些实施方式中,该方法还包括分别基于第二值和第一值生成多个控制信号。在一些实施方式中,该方法还包括基于多个控制信号在耦合到存储单元的一行字线上施加字线电压,以分别执行编程操作和读取操作。
在一些实施方式中,存储单元被配置为存储N页的N位数据,并且格雷编码的编程值包括N位数据。
在一些实施方式中,该存储器件还包括其中存储单元位于其中的存储串。该方法还包括:为了执行编程操作,缓冲N位数据,选择存储串,以及基于N位数据在一行字线上施加编程电压。该方法还包括:为了执行读取操作,选择存储串,基于N位数据在一行字线上施加读取电压,以及缓冲N位数据。
在一些实施方式中,读取格雷码和编程格雷码均包括查找表,该查找表分别包括存储单元的多个状态与相应的格雷编码值之间的映射关系。在一些实施方式中,该方法包括:接收第一值;基于读取格雷码来确定与第一值相对应的状态;以及基于编程格雷码来确定映射到该状态的一个格雷编码值,其中所述一个格雷编码值是第二值。
在一些实施方式中,第一值包括N页的N位数据。在一些实施方式中,所述方法包括:通过如下方式将第一值中的一位转换为第二值中的相应位:在第一值中的表示(N-1)页的(N-1)位之间执行异或(XOR)运算以获得第一XOR值;在第二值中的表示(N-1)页的(N-1)位之间执行XOR运算以获得第二XOR值;并且在第一值中的所述一位、第一XOR值和第二XOR值之间执行XOR运算,以获得第二值中的相应位。
在一些实施方式中,存储单元是具有16个状态并被配置为存储4页的4位数据的QLC。
本公开的另一方面提供了一种系统。该系统包括:布置成多行的存储单元的阵列;分别耦合到存储单元的多行的多条字线;以及耦合到字线的外围电路。外围电路被配置为:基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值,执行编程操作以基于读取格雷码将第二值作为一状态而编程到存储单元中,并且执行读取操作以基于读取格雷码从存储单元中读出将是所述第一值的所述状态。该系统还包括耦合到该存储器件并被配置为控制该存储器件的存储器控制器。
在一些实施方式中,该系统还包括耦合到存储器控制器的主机。
在一些实施方式中,外围电路包括被配置为将第一值转换为第二值的转换单元。在一些实施方式中,读取和编程格雷码中的每个包括存储单元的多个状态和相应的映射的格雷编码值,并且第一值和第二值映射到存储单元在读取和编程格雷码中的相同状态。
在一些实施方式中,外围电路包括耦合至转换单元的控制逻辑单元以及耦合至控制逻辑单元和多条字线的字线驱动器。在一些实施方式中,控制逻辑单元被配置为分别基于第二值和第一值来生成多个控制信号。在一些实施方式中,字线驱动器被配置为基于多个控制信号在耦合到存储单元的一行字线上施加字线电压以分别执行编程操作和读取操作。
在一些实施方式中,存储单元被配置为存储N页的N位数据,并且格雷编码的编程值包括N位数据。
在一些实施方式中,该系统还包括其中存储单元位于其中的存储串。外围电路包括耦合到存储串的页缓冲器、耦合到页缓冲器和存储串的位线、以及耦合到位线和控制逻辑单元的位线驱动器。在一些实施方式中,为了执行编程操作,页缓冲器被配置为缓冲N位数据,位线驱动器被配置为选择存储串,并且字线驱动器被配置为基于N位数据在一行字线上施加编程电压。在一些实施方式中,为了执行读取操作,位线驱动器被配置为选择存储串,字线驱动器被配置为基于N位数据在一行字线上施加读取电压,并且页缓冲器被配置为缓冲N位数据。
在一些实施方式中,读取格雷码和编程格雷码均包括查找表,该查找表分别包括存储单元的多个状态与相应的格雷编码值之间的映射关系。在一些实施方式中,转换单元被配置为:接收第一值,基于读取格雷码确定与第一值相对应的状态,并且基于编程格雷码确定映射到该状态的一个格雷编码值,所述一个格雷编码值是第二值。
在一些实施方式中,第一值包括N页的N位数据。在一些实施方式中,转换单元被配置为通过如下方式将第一值中的一位转换为第二值中的相应位:在第一值中的表示(N-1)页的(N-1)位之间执行异或(XOR)运算以获得第一XOR值;在第二值中的表示(N-1)页的(N-1)位之间执行XOR运算以获得第二XOR值;并且在第一值中的所述一位、第一XOR值和第二XOR值之间执行XOR运算,以获得第二值中的相应位。
在一些实施方式中,转换单元是控制逻辑单元的一部分。
在一些实施方式中,转换单元是控制逻辑单元的单独部分,并且在外围电路的数据接口与存储单元的页缓冲器之间。
在一些实施方式中,存储单元是具有16个状态并且被配置为存储4页的4位数据的QLC。
在一些实施方式中,存储器控制器耦合到外围电路,并且被配置为将二进制编码值转化为第一值。
特定实施方式的前述描述可以容易地被修改和/或改编以用于各种应用。因此,基于本文提出的教导和指导,这样的改编和修改旨在处于所公开的实施方式的等同物的含义和范围内。
本公开的广度和范围不应由任何上述示例性实施方式来限制,而应仅根据所附权利要求及其等同物来限定。
Claims (27)
1.一种存储器件,包括:
布置成多行的存储单元的阵列;
分别耦合到所述存储单元的所述多行的多条字线;以及
耦合到所述字线的外围电路,所述外围电路被配置为:
基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值,
执行编程操作以基于所述读取格雷码将所述第二值作为一状态而编程到存储单元中,并且
执行读取操作以基于所述读取格雷码从所述存储单元中读出将是所述第一值的所述状态,
其中,所述外围电路包括转换单元,所述转换单元被配置为将所述第一值转换为所述第二值,其中:
所述读取格雷码和所述编程格雷码中的每个包括所述存储单元的多个状态和相应的映射的格雷编码值;并且
所述第一值和所述第二值在所述读取格雷码和所述编程格雷码中被映射到所述存储单元的相同状态。
2.根据权利要求1所述的存储器件,其中,所述外围电路包括:耦合到所述转换单元的控制逻辑单元;以及耦合到所述控制逻辑单元和所述多条字线的字线驱动器,并且其中:
所述控制逻辑单元被配置为分别基于所述第二值和所述第一值来生成多个控制信号,并且
所述字线驱动器被配置为基于所述多个控制信号在耦合到所述存储单元的一行字线上施加字线电压,以分别执行所述编程操作和所述读取操作。
3.根据权利要求2所述的存储器件,其中:
所述存储单元被配置为存储N页的N位数据;并且
所述格雷编码的编程值包括所述N位数据。
4.根据权利要求3所述的存储器件,还包括其中所述存储单元位于其中的存储串,其中,所述外围电路包括耦合到所述存储串的页缓冲器、耦合到所述页缓冲器和所述存储串的位线、以及耦合到所述位线和控制逻辑单元的位线驱动器,并且其中:
为了执行所述编程操作,所述页缓冲器被配置为缓冲所述N位数据,所述位线驱动器被配置为选择所述存储串,并且所述字线驱动器被配置为基于所述N位数据在一行字线上施加编程电压;并且
为了执行所述读取操作,所述位线驱动器被配置为选择所述存储串,所述字线驱动器被配置为基于所述N位数据在所述一行字线上施加读取电压,并且所述页缓冲器被配置为缓冲所述N位数据。
5.根据权利要求1-2中任一项所述的存储器件,其中:
所述读取格雷码和所述编程格雷码均包括查找表,所述查找表分别包括所述存储单元的所述多个状态与相应的格雷编码值之间的映射关系;并且
所述转换单元被配置为:
接收所述第一值;
基于所述读取格雷码来确定与所述第一值相对应的所述状态;并且
基于所述编程格雷码来确定映射到所述状态的一个格雷编码值,所述一个格雷编码值是所述第二值。
6.根据权利要求1-2中任一项所述的存储器件,其中,所述第一值包括N页的N位数据,并且所述转换单元被配置为通过如下方式将所述第一值中的一位转换为所述第二值中的相应位:
在所述第一值中的表示(N-1)页的(N-1)位之间执行异或(XOR)运算以获得第一XOR值;
在所述第二值中的表示(N-1)页的(N-1)位之间执行XOR运算以获得第二XOR值;并且
在所述第一值中的所述一位、所述第一XOR值和所述第二XOR值之间执行XOR运算,以获得所述第二值中的所述相应位。
7.根据权利要求2所述的存储器件,其中,所述转换单元是所述控制逻辑单元的一部分。
8.根据权利要求2所述的存储器件,其中,
所述转换单元是所述控制逻辑单元的单独部分,并且在所述外围电路的数据接口与所述存储单元的页缓冲器之间。
9.根据权利要求1-4中任一项所述的存储器件,其中,所述存储单元是包括16个状态并且被配置为存储4页的4位数据的四电平单元(QLC)。
10.一种用于操作存储器件的方法,所述存储器件包括布置成多行的存储单元的阵列和分别耦合到所述存储单元的所述多行的多条字线,所述方法包括:
基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值;
执行编程操作以基于所述读取格雷码将所述第二值作为一状态而编程到存储单元中;以及
执行读取操作以基于所述读取格雷码从所述存储单元中读出将是所述第一值的所述状态,
其中,所述读取格雷码和所述编程格雷码中的每个包括所述存储单元的多个状态和相应的映射的格雷编码值,并且将所述第一值转换为所述第二值包括:
将所述第一值和所述第二值在所述读取格雷码和所述编程格雷码中映射到所述存储单元的相同状态。
11.根据权利要求10所述的方法,还包括:
分别基于所述第二值和所述第一值生成多个控制信号,以及
基于所述多个控制信号在耦合到所述存储单元的一行字线上施加字线电压,以分别执行所述编程操作和所述读取操作。
12.根据权利要求10所述的方法,其中:
所述存储单元被配置为存储N页的N位数据;并且
所述格雷编码的编程值包括所述N位数据。
13.根据权利要求12所述的方法,所述存储器件还包括其中所述存储单元位于其中的存储串,所述方法还包括:
为了执行所述编程操作,缓冲所述N位数据、选择所述存储串、并且基于所述N位数据在一行字线上施加编程电压;以及
为了执行所述读取操作,选择所述存储串、基于所述N位数据在所述一行字线上施加读取电压、并且缓冲所述N位数据。
14.根据权利要求10-13中的任一项所述的方法,其中,所述读取格雷码和所述编程格雷码均包括查找表,所述查找表分别包括所述存储单元的所述多个状态与相应的格雷编码值之间的映射关系,并且所述方法包括:
接收所述第一值;
基于所述读取格雷码来确定与所述第一值相对应的所述状态;以及
基于所述编程格雷码来确定映射到所述状态的一个格雷编码值,所述一个格雷编码值是所述第二值。
15.根据权利要求10-13中任一项所述的方法,其中,所述第一值包括N页的N位数据,并且所述方法包括通过如下方式将所述第一值中的一位转换为所述第二值中的相应位:
在所述第一值中的表示(N-1)页的(N-1)位之间执行异或(XOR)运算以获得第一XOR值;
在所述第二值中的表示(N-1)页的(N-1)位之间执行XOR运算以获得第二XOR值;并且
在所述第一值中的所述一位、所述第一XOR值和所述第二XOR值之间执行XOR运算,以获得所述第二值中的所述相应位。
16.根据权利要求10-13中任一项所述的方法,其中,所述存储单元是包括16个状态并且被配置为存储4页的4位数据的四电平单元(QLC)。
17.一种系统,包括:
布置成多行的存储单元的阵列;
分别耦合到所述存储单元的所述多行的多条字线;以及
耦合到所述字线的外围电路,所述外围电路被配置为:
基于读取格雷码和编程格雷码之间的映射关系将第一值转换为第二值,
执行编程操作以基于所述读取格雷码将所述第二值作为一状态而编程到存储单元中,并且
执行读取操作以基于所述读取格雷码从所述存储单元中读出将是所述第一值的所述状态,以及
存储器控制器,其耦合到所述外围电路并且被配置为控制所述外围电路,
其中,所述外围电路包括转换单元,所述转换单元被配置为将所述第一值转换为所述第二值,其中:
所述读取格雷码和所述编程格雷码中的每个包括所述存储单元的多个状态和相应的映射的格雷编码值;并且
所述第一值和所述第二值在所述读取格雷码和所述编程格雷码中被映射到所述存储单元的相同状态。
18.根据权利要求17所述的系统,还包括耦合到所述存储器控制器的主机。
19.根据权利要求17所述的系统,其中,所述外围电路包括:耦合到所述转换单元的控制逻辑单元;以及耦合到所述控制逻辑单元和所述多条字线的字线驱动器,并且其中:
所述控制逻辑单元被配置为分别基于所述第二值和所述第一值来生成多个控制信号,并且
所述字线驱动器被配置为基于所述多个控制信号在耦合到所述存储单元的一行字线上施加字线电压,以分别执行所述编程操作和所述读取操作。
20.根据权利要求19所述的系统,其中:
所述存储单元被配置为存储N页的N位数据;并且
所述格雷编码的编程值包括所述N位数据。
21.根据权利要求20所述的系统,还包括其中所述存储单元位于其中的存储串,其中,所述外围电路包括耦合到所述存储串的页缓冲器、耦合到所述页缓冲器和所述存储串的位线、以及耦合到所述位线和控制逻辑单元的位线驱动器,并且其中:
为了执行所述编程操作,所述页缓冲器被配置为缓冲所述N位数据,所述位线驱动器被配置为选择所述存储串,并且所述字线驱动器被配置为基于所述N位数据在一行字线上施加编程电压;并且
为了执行所述读取操作,所述位线驱动器被配置为选择所述存储串,所述字线驱动器被配置为基于所述N位数据在所述一行字线上施加读取电压,并且所述页缓冲器被配置为缓冲所述N位数据。
22.根据权利要求17所述的系统,其中:
所述读取格雷码和所述编程格雷码均包括查找表,所述查找表分别包括所述存储单元的所述多个状态与相应的格雷编码值之间的映射关系;并且
所述转换单元被配置为:
接收所述第一值;
基于所述读取格雷码来确定与所述第一值相对应的所述状态;并且
基于所述编程格雷码来确定映射到所述状态的一个格雷编码值,所述一个格雷编码值是所述第二值。
23.根据权利要求17所述的系统,其中,所述第一值包括N页的N位数据,并且所述转换单元被配置为通过如下方式将所述第一值中的一位转换为所述第二值中的相应位:
在所述第一值中的表示(N-1)页的(N-1)位之间执行异或(XOR)运算以获得第一XOR值;
在所述第二值中的表示(N-1)页的(N-1)位之间执行XOR运算以获得第二XOR值;并且
在所述第一值中的所述一位、所述第一XOR值和所述第二XOR值之间执行XOR运算,以获得所述第二值中的所述相应位。
24.根据权利要求19所述的系统,其中,所述转换单元是所述控制逻辑单元的一部分。
25.根据权利要求19所述的系统,其中,
所述转换单元是所述控制逻辑单元的单独部分,并且在所述外围电路的数据接口与所述存储单元的页缓冲器之间。
26.根据权利要求17-18中任一项所述的系统,其中,所述存储单元是包括16个状态并且被配置为存储4页的4位数据的四电平单元(QLC)。
27.根据权利要求17-18中任一项所述的系统,其中,所述存储器控制器耦合到所述外围电路,并且被配置为将二进制编码值转化为所述第一值。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2021/084711 WO2022205198A1 (en) | 2021-03-31 | 2021-03-31 | Program and read operations using different gray codes and memory device for performing the same |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113272902A CN113272902A (zh) | 2021-08-17 |
CN113272902B true CN113272902B (zh) | 2023-02-10 |
Family
ID=77236901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180001107.6A Active CN113272902B (zh) | 2021-03-31 | 2021-03-31 | 使用不同格雷码的编程和读取操作以及用于执行这种操作的存储器件 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11854613B2 (zh) |
CN (1) | CN113272902B (zh) |
WO (1) | WO2022205198A1 (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101245219B1 (ko) * | 2007-05-16 | 2013-03-19 | 삼성전자주식회사 | 메모리 셀 기입/독출 방법 및 페이지 버퍼 |
KR102451154B1 (ko) * | 2015-12-07 | 2022-10-06 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 불휘발성 메모리 장치의 동작 방법 |
US10846172B2 (en) * | 2018-01-08 | 2020-11-24 | SK Hynix Inc. | Encoding method and system for memory device including QLC cells |
KR20190111608A (ko) * | 2018-03-23 | 2019-10-02 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 및 그 동작 방법 |
US10705966B1 (en) * | 2018-12-14 | 2020-07-07 | Western Digital Technologies, Inc. | Mapping for multi-state programming of memory devices |
US10901622B2 (en) * | 2018-12-28 | 2021-01-26 | Micron Technology, Inc. | Adjustable NAND write performance |
US10777240B1 (en) * | 2019-03-07 | 2020-09-15 | Sandisk Technologies Llc | Efficient control of memory core circuits |
US11133067B2 (en) * | 2019-03-08 | 2021-09-28 | Western Digital Technologies, Inc. | Multi-phased programming with balanced gray coding |
-
2021
- 2021-03-31 CN CN202180001107.6A patent/CN113272902B/zh active Active
- 2021-03-31 WO PCT/CN2021/084711 patent/WO2022205198A1/en active Application Filing
- 2021-10-15 US US17/502,489 patent/US11854613B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11854613B2 (en) | 2023-12-26 |
US20220319591A1 (en) | 2022-10-06 |
CN113272902A (zh) | 2021-08-17 |
WO2022205198A1 (en) | 2022-10-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113490984B (zh) | 存储器器件及其编程操作 | |
US20230335205A1 (en) | Memory device and multi-pass program operation thereof | |
WO2023246931A1 (en) | Memory device, memory system, and operating method thereof | |
CN113272902B (zh) | 使用不同格雷码的编程和读取操作以及用于执行这种操作的存储器件 | |
CN113228188B (zh) | 存储器件及其编程操作 | |
CN115527587A (zh) | 存储系统及其操作方法、存储器控制器和存储器 | |
CN113994433A (zh) | 多遍编程中的负栅极应力操作机器存储器件 | |
CN113168869A (zh) | 存储器器件及其擦除操作 | |
CN113228186B (zh) | 多遍编程中的负栅极应力操作机器存储器件 | |
US11995319B2 (en) | Memory device and program operation thereof | |
US20240221848A1 (en) | Memory device and program operation thereof | |
US20230420062A1 (en) | Memory device, memory system, and operating method thereof | |
US20240233834A9 (en) | Operating method for a memory, a memory and a memory system | |
US20240071519A1 (en) | Nand io bandwidth increase | |
US20240135998A1 (en) | Operating method for a memory, a memory and a memory system | |
WO2024138912A1 (en) | Memory device and program operation thereof | |
CN114675780A (zh) | 读取方法、三维存储器及存储器系统 | |
CN118298883A (zh) | 存储器装置及其操作方法、存储器系统 | |
CN115309337A (zh) | 一种存储器的操作方法、存储器及存储系统 | |
CN115171761A (zh) | 存储器及其操作方法、存储器系统 | |
CN115148269A (zh) | 存储器装置及其操作方法、存储器系统 | |
CN116547758A (zh) | 存储器器件、存储器系统及其读取操作方法 | |
CN114974363A (zh) | 三维存储器的读取方法、三维存储器及存储器系统 | |
CN114640343A (zh) | 计数电路、存储器件及系统 | |
CN115620790A (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 |