CN117636971A - 用于校正性编程及功率损耗管理的方法、系统及非暂时性计算机可读存储媒体 - Google Patents
用于校正性编程及功率损耗管理的方法、系统及非暂时性计算机可读存储媒体 Download PDFInfo
- Publication number
- CN117636971A CN117636971A CN202311013373.8A CN202311013373A CN117636971A CN 117636971 A CN117636971 A CN 117636971A CN 202311013373 A CN202311013373 A CN 202311013373A CN 117636971 A CN117636971 A CN 117636971A
- Authority
- CN
- China
- Prior art keywords
- data bits
- subset
- programming
- pages
- memory
- 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
- 238000000034 method Methods 0.000 title claims abstract description 41
- 230000015654 memory Effects 0.000 claims abstract description 152
- 239000000872 buffer Substances 0.000 claims abstract description 31
- 230000004044 response Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 3
- 230000003071 parasitic effect Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000012464 large buffer Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/10—Programming or data input circuits
- G11C16/102—External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
-
- 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
- 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/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本申请案涉及一种用于校正性编程及功率损耗管理的方法、系统及非暂时性计算机可读存储媒体。包含用于控制将数据位写入到存储器装置的编程管理器的示范性方法、设备及系统。所述编程管理器接收用于编程到存储器的第一组数据位。在第一遍次编程期间,编程管理器将数据位的第一子集写入到第一字线。所述编程管理器将所述第一组数据位中的数据位的第二子集写入到缓冲器。所述编程管理器接收用于编程的第二组数据位。所述编程管理器响应于接收到所述第二组数字位而在第二遍次编程期间将所述第一组数据位中的数据位的所述第二子集写入到所述第一字线以增加所述第一字线中的存储器单元的位密度。
Description
技术领域
本公开大体上涉及存储器装置的校正性编程及功率损耗管理,且更具体来说,涉及各自存储多个位的存储器单元的两遍次校正性编程及两遍次校正性编程的功率损耗管理。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。举例来说,所述存储器装置可为非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统来将数据存储在存储器装置处及从存储器装置检索数据。
发明内容
本公开的实施例提供一种方法,其包括:接收用于编程到存储器的第一组数据位;在第一遍次编程期间将所述第一组的数据位的第一子集写入到所述存储器的第一字线;将所述第一组数据位中的数据位的第二子集写入到缓冲器,其中数据位的所述第二子集不同于数据位的所述第一子集;接收用于编程的第二组数据位,其中所述第二组数字位将被编程到第二字线;以及响应于接收到所述第二组数据位而在第二遍次编程期间将所述第一组数据位中的数据位的所述第二子集写入到所述第一字线,数据位的所述第二子集的所述写入包含所述第一字线中的存储器单元的位密度的增加。
本公开的另一实施例提供一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时致使所述处理装置进行以下操作:接收用于编程到存储器的第一组数据页面,其中所述第一组页面包含四个页面;在第一遍次编程期间将页面的第一子集写入到第一字线;将所述第一组页面中的所选择页面写入到缓冲器,其中所述所选择页面不同于页面的所述第一子集中的每一页面;接收用于编程的第二组页面;以及在第二遍次编程期间将所述第一组页面中的所述所选择页面写入到所述第一字线,其中所述所选择页面的所述写入包含使用所述第二组页面将调整电压施加到所述所选择页面,其中所述所选择页面的写入包含增加所述第一字线中的存储器单元的位密度。
本公开的又一实施例提供一种系统,其包括:存储器装置;及处理装置,其可操作地与多个存储器装置耦合以:接收用于编程到存储器的第一组数据位;在第一遍次编程期间将数据位的第一子集写入到第一字线;将所述第一组数据位中的数据位的第二子集写入到缓冲器,其中数据位的所述第二子集不同于数据位的所述第一子集;接收用于编程的第二组数据位;以及在第二遍次编程期间将数据位的所述第二子集写入到所述第一字线,其中写入数据位的所述第二子集包含使用所述第二组数据位将调整电压施加到数据位的所述第二子集的阈值电压,其中数据位的所述第二子集的写入包含增加所述第一字线中的存储器单元的位密度。
附图说明
将从下面给出的详细描述及从本公开的各种实施例的附图中更充分地理解本公开。然而,图式不应被视为将本公开限于特定实施例,而仅用于解释及理解。
图1说明根据本公开的一些实施例的包含执行编程遍次的存储器子系统的实例计算系统。
图2说明根据本公开的实施例的执行编程遍次的过程的实例。
图3是根据本公开的一些实施例的将调整电压施加到字线的一或多个位的实例。
图4是根据本公开的实施例的用以执行编程遍次的实例方法的流程图。
图5是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及存储器子系统中的两遍次校正性编程。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合体。下面结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个组件的存储器子系统,所述组件例如存储数据的存储器装置。主机系统可提供待存储在存储器子系统处的数据,并可请求待从存储器子系统检索数据。
存储器装置可为非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。非易失性存储器装置的一个实例是“与非”(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。封装中的裸片可被指派到用于与存储器子系统控制器通信的一或多个通道。每一裸片可由一或多个平面组成。平面可被分组成逻辑单位(LUN)。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由一组物理块组成,所述一组物理块为用以存储数据的存储器单元的群组。单元是存储信息的电子电路。
取决于单元类型,单元可存储一或多个二进制信息位,并具有与所存储的位的数目相关的各种逻辑状态。逻辑状态可由二进制值表示,例如“0”及“1”,或此类值的组合。存在各种类型的单元,例如单电平单元(SLC)、多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC)。举例来说,SLC可存储一位信息并且具有两种逻辑状态。
使用四电平单元改进了存储器存储,但通常导致用以缓冲数据位的大缓冲器要求,例如用16-16两遍次编程。在16-16两遍次编程中,第一遍次包含粗略数据编程,而第二遍次包含精细数据编程。例如,粗略数据编程将QLC编程为16个阈值电压(Vt)状态(表示4位的16个不同组合),但使数据处于不可读状态。为了防止数据丢失且以其它方式提供对数据的存取,对应数据也存储在缓冲器中,直到精细数据第二遍次编程完成为止,这使数据处于可读的16Vt状态。这种大缓冲器要求招致过度供应惩罚(用户可存取的存储空间之外的额外存储)。
本公开的方面通过在第一遍次中以可读状态将数据位的子集写入到存储器且缓冲所述一组数据位的剩余部分以用于在第二遍次中写入到存储器来解决上述及其它缺陷。通过仅将数据位的子集写入到存储器,第一遍次以可读状态写入,且减小用于在第二遍次中写入的数据位的缓冲器大小。在第二遍次期间,写入经缓冲位以增加先前写入存储器单元的位密度。例如,数据位的经缓冲子集可表示所选择页面,例如写入到QLC存储器的一组四个页面的“顶部页面”(TP)。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此组合。
存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合体。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小外形DIMM(SO-DIMM)及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它交通工具)、具有物联网(IoT)能力的装置、嵌入式计算机(例如,包含在交通工具、工业装备或联网商业装置中的计算机),或包含存储器及处理装置的此类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文使用,“耦合到”或“与...耦合”一般是指组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论是有线的还是无线的,包含例如电连接、光学连接、磁连接等的连接。
主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,NVDIMM控制器)及存储协议控制器(例如,PCIe控制器、SATA控制器)。举例来说,主机系统120使用存储器子系统110来将数据写入到存储器子系统110并从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、小型计算机系统接口(SCSI)、双数据速率(DDR)存储器总线、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM插槽接口)、开放式NAND快闪接口(ONFI)、双数据速率(DDR)、低功率双数据速率(LPDDR)或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。主机系统120可进一步利用NVM快速(NVMe)接口来在存储器子系统110通过PCIe接口与主机系统120耦合时存取组件(例如,存储器装置130)。所述物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1说明存储器子系统110作为实例。一般来说,主机系统120可经由相同通信连接、多个单独通信连接及/或通信连接的组合来存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任一组合。易失性存储器装置(例如,存储器装置140)可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含“与非”(NAND)型快闪存储器及就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其为非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格数据存取阵列基于体电阻的改变执行位存储。另外,与许多基于快闪的存储器相对照,交叉点非易失性存储器可执行就地写入操作,其中可对非易失性存储器单元进行编程而无需事先擦除非易失性存储器单元。NAND型快闪存储器包含例如二维NAND(2D NAND)及三维NAND(3D NAND)。
尽管描述例如NAND型存储器(例如,2D NAND、3D NAND)及非易失性存储器单元的3D交叉点阵列的非易失性存储器装置,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它硫属化物基存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻随机存取存储器(RRAM)、氧化物基RRAM(OxRAM)、“或非”(NOR)快闪存储器以及电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或为简单起见控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据的操作以及其它此类操作(例如,响应于由控制器115在命令总线上调度的命令)。存储器子系统控制器115可包含例如一或多个集成电路及/或离散组件、缓冲存储器或其组合的硬件。硬件可包含具有专用(即,硬编码)逻辑的数字电路系统以执行本文所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适处理器。
存储器子系统控制器115可包含经配置以执行存储在本地存储器119中的指令的处理装置117(处理器)。在所说明实例中,存储器子系统控制器115的本地存储器119包含经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流程以及例程的嵌入式存储器,所述控制包含处置存储器子系统110与主机系统120之间的通信。
在一些实施例中,本地存储器119可包含存储存储器指针、获取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(ROM)。尽管图1中的实例存储器子系统110已经说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,并且可代替地依赖于外部控制(例如,由外部主机或由与存储器子系统110分离的处理器或控制器提供)。
一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,并且可将命令或操作转换为指令或适当命令以实现对存储器装置130及/或存储器装置140的期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正代码(ECC)操作、加密操作、高速缓存操作以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、命名空间)与物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收的命令转换为命令指令以存取存储器装置130及/或存储器装置140,以及将与存储器装置130及/或存储器装置140相关联的响应转换为用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含可从存储器子系统控制器115接收地址并解码所述地址以存取存储器装置130的高速缓存或缓冲器(例如,DRAM)及地址电路系统(例如,行解码器及列解码器)。
在一些实施例中,存储器装置130包含本地媒体控制器135,其与存储器子系统控制器115结合操作以在存储器装置130的一或多个存储器单元上执行操作。外部控制器(例如,存储器子系统控制器115)可从外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管存储器装置,其是与用于同一存储器装置封装内的媒体管理的本地控制器(例如,本地控制器135)组合的原始存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。
存储器子系统110包含编程管理器113,其可为对存储器装置130的单元的第一及第二遍次编程选择所接收数据位的子集。在一些实施例中,控制器115包含编程管理器113的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其经配置以执行存储在本地存储器119中的用于执行本文所描述的操作的指令。在一些实施例中,编程管理器113是主机系统120、应用程序或操作系统的部分。
编程管理器113控制如何在多遍次编程中将所接收数据位写入到存储器装置。如此做,编程管理器113减少每遍次缓冲的数据量。例如,如果编程管理器113接收用于编程到存储器的第一组数据位。在实例中,第一组数据位包含数据的四个页面,编程管理器113可以可读状态将数据的子集写入到存储器装置(例如,以8Vt状态将三个数据页面写入到存储器单元的字线)。编程管理器113可将位的剩余子集(例如,最后一个数据页面)写入到缓冲器,例如NAND锁存器、SLC块或易失性存储器。编程管理器113可在第二遍次编程中将存储在缓冲器中位的剩余子集写入到存储器装置(例如,以十六Vt状态写入到存储器单元的字线的完整的四个数据页面)。在一个实施例中,在接收到第二组数据位(例如,另外四个数据页面)之后,编程管理器执行第二遍次编程。下文描述关于编程管理器113的操作的另外细节。
图2说明根据本公开的实施例的执行编程遍次的过程的实例。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200由图1的编程管理器113执行。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明实施例应仅被理解为实例,并且所说明过程可以不同顺序执行,并且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。
在操作205处,编程管理器113接收用于编程的第一组数据页面。编程管理器113经配置以接收用于编程到存储器装置的若干组数据位。例如,编程管理器113可从主机系统120接收数据流,所述数据流包含多组数据页面。在一些实施例中,编程管理器113接收用于写入到QLC字线的至少四个数据页面。本文中陈述的实例是指QLC字线及若干组数据页面,但可使用存储器的其它细分及数据的其它组/分组。
在操作210处,编程管理器113在第一遍次编程期间将页面的第一子集写入到第一字线。编程管理器113选择数个页面以写入到第一字线上的QLC。例如,编程管理器选择在操作205中接收的第一组页面中的三个页面以写入到存储器(例如,类似于编程TLC存储器的8Vt可读状态)。因为编程管理器113仅将页面的子集(例如,三个页面)写入到存储器,所以字线的存储器单元以可读8Vt状态写入。在另一实施例中,编程管理器113选择两个页面且将其写入到存储器(例如,以类似于编程MLC存储器的4Vt可读状态)。
在操作215处,编程管理器113将第一组页面中的所选择页面写入到缓冲器。在其中编程管理器113将由三个页面组成的数据的第一子集写入到第一字线的上文实例中,由剩余一个页面(例如,第四页面,例如TP)组成的数据的第二子集由编程管理器113写入到缓冲器位置。在事件恢复中,可从缓冲器存取第四页面,或者在将第四页面写入到第一字线之前需要读取。在实施例中,编程管理器113将包含两个页面的第一子集写入到第一字线,编程管理器113将包含剩余两个页面的第二子集写入到缓冲器。
在操作220处,编程管理器113接收用于编程的第二组页面。类似于上文关于操作205的描述,编程管理器113经配置以接收用于编程到存储器装置的多组数据位。编程管理器113接收用于写入到第二QLC字线的第二组四个数据页面。
在操作225处,编程管理器使用第二组页面来确定对阈值电压值的调整以用于将所选择页面编程到第一字线。例如,在接收到用于编程的第二组页面之后,编程管理器确定调整电压以用于在第二遍次编程中写入所选择页面,从而导致以16Vt状态编程的字线。调整电压可例如考虑到编程管理器113估计将源自将第二组页面编程到邻近的第二字线的干扰或其它寄生效应。在一些实施例中,编程管理器针对将在第一遍次编程中编程的第二组页面中的数个页面按第一调整电压来调整阈值电压。在其它情况下,编程管理器针对将在第一遍次编程中编程的第二组页面中的不同(例如,更多或更少页面)数目个页面按不同调整电压来调整阈值电压。编程管理器经配置以根据存储器装置的设计参数来确定调整电压。在一个实施例中,当将在第一遍次中编程的第二组页面的页面数目较少时,编程管理器施加较大调整电压(较大增加)。
在操作230处,编程管理器113在第二遍次编程期间将所选择页面写入到第一字线。第二遍次编程增加第一字线的单元的位密度。例如,在接收用于编程的第二组页面之后,编程管理器113使用所确定的对阈值电压值的调整来将最后一个页面从缓冲器写入到第一字线,从而针对特定类型的存储器单元以最终编程状态(例如,QLC字线的每一QLC的16Vt可读状态)完成第一组数据页面的编程。
图3是根据本公开的一些实施例的将调整电压施加到字线的一或多个位的实例。如上文描述,编程管理器113通过在第一遍次编程期间将第一QLC字线编程为8Vt状态而在存储器装置130中写入所述字线。在接收到第二组数据位(包含待写入到第二QLC字线的数据的四个页面)之后,编程管理器113可执行对第一QLC字线的第二遍次编程。本文阐述的实例涉及QLC字线、8Vt状态及16Vt状态,然而,取决于每一类型的存储器单元的初始及最终编程状态,可使用其它数目的Vt状态。
如在图3中描绘,QLC字线300具有表示二进制值000、001、010、011、100、101、110及111的8Vt状态的电压值302到306的分布。尽管二进制值展示为彼此邻近,但例如使用格雷码的其它布置或不同位置是可能的。第二编程遍次将电压值的可能分布增加到表示二进制值0000、0001、0010、0011、0100、0101、0110、0111、1000、1001、1010、1011、1100、1101、1110及1111的16个Vt状态。在添加位时,在8Vt状态下的每一二进制值可被移位以表示在16Vt状态下的两个不同二进制值。例如,如果第一遍次编程将QLC编程到二进制值001(由电压分布值304表示),那么第二遍次编程将QLC更新为二进制值0010或0011(由电压值308的分布表示),这取决于由经缓冲页面(例如,顶部页面TP)添加的位的值。
如参考操作220及225论述,编程管理器113可在将第四页面写入到QLC字线之前针对第二遍次编程施加对阈值电压的调整。例如,当在第一遍次编程中将三个页面写入到第一QLC字线时,第四页面被写入到缓冲器。在接收到第二组四个页面之后,编程管理器可取决于第二组四个页面的第二遍次状态来在将四个页面写入到QLC字线之前调整阈值电压。在一个实施例中,编程管理器针对将在第二组四个页面的第一遍次中编程的数个页面按第一量来调整最终编程状态的阈值电压,且针对将在第二组四个页面的第一遍次中编程的不同数目个页面按不同量(即,在阈值电压上增加更多的第二量)来调整所述阈值电压。因此,编程管理器113考虑可使第一字线的电压值移位的编程第二字线的任何干扰或寄生影响。在编程管理器113编程第二字线之后,第一字线的电压值应落在预期16Vt状态的期望电压分布内。
图4是根据本公开的实施例的用以执行编程遍次的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法400由图1的编程管理器113执行。尽管以特定序列或顺序展示,除非另有指定,否则可修改过程的顺序。因此,所说明实施例应仅被理解为实例,并且所说明过程可以不同顺序执行,并且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一个实施例中都需要所有过程。其它过程流程是可能的。
在操作405处,编程管理器113接收用于编程到存储器的第一组数据位。如上文关于操作205描述,编程管理器113经配置以接收用于编程到存储器装置的若干组数据位。在一些实施例中,编程管理器113接收用于写入到字线的四个数据页面。在其它实施例中,编程管理器接收可通过存储器子系统编程到存储器的任何数目个数据位。
在操作410处,编程管理器113在第一遍次编程期间将数据位的第一子集写入到第一字线。从在操作405处接收的第一组数据位,编程管理器113选择用于写入到第一字线的数据位的第一子集及写入到缓冲器的数据位第二子集。如关于上文的操作210所描述,编程管理器113执行以可读状态将数据位的第一子集写入到第一字线的第一遍次编程。
在操作415处,编程管理器113将第一组数据位的第二子集写入到缓冲器。例如,数据位的第二子集是第一组数据位中的在第一遍次编程期间未编程到第一字线的数据位。如上文关于操作215描述,编程管理器将数据位的第二子集写入到与第一字线不同的存储器位置,例如缓冲器或非易失性存储器位置。由于编程管理器113将数据位的第二子集而不是整个第一组数据位写入到缓冲器,缓冲器大小从完整的第一组数据位减小到数据位的第二子集。在QLC字线实例中,对于数据位的四页面组,第一子集包含写入到字线的三个页面,且数据位的第四页面被写入到缓冲器,与缓冲完整的第一组数据位相比,缓冲器大小减小75%。
在操作420处,编程管理器113接收用于编程到存储器的第二组数据位。如上文关于操作220所描述,编程管理器113接收用于编程到第二字线的第二组页面。
在操作425处,编程管理器在第二遍次编程期间将第一组数据位中的数据位的第二子集写入到第一字线。如上文关于操作225所描述,编程管理器113在第二遍次编程期间将所选择页面或经缓冲位的其它子集写入到第一字线,以增加第一字线的存储器单元的位密度。继续先前实例,响应于接收到用于编程到存储器的第二组四个页面,编程管理器113将存储在缓冲器中的第四页面写入到第一字线。如上文关于操作225所描述,编程管理器113可使用包含在第二数据位中的每一位的值来施加对阈值电压的调整,以补偿编程第二字线的干扰或其它寄生效应。
图5说明计算机系统500的实例机器,在计算机系统500内可执行用于致使所述机器执行本文所论述的方法中的任一或多者的一组指令。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110),或者可用以执行控制器的操作(例如,执行操作系统以执行对应于图1的编程管理器113的操作)。在替代实施例中,所述机器可连接(例如,联网)到LAN、内联网、外联网及/或因特网中的其它机器。所述计算机可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络器械、服务器、网络路由器、交换机或网桥或能够执行指定待由所述机器采取的动作的一组指令(循序或以其它方式)的任何机器。此外,虽然说明单个机器,但是术语“机器”也应被认为包含机器的任何集合,其个别地或共同地执行一组(或多组)指令以执行本文所论述的方法中的任一者或多者。
实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器506(例如,快闪存储器、静态随机存取存储器(SRAM)等)及数据存储器装置518,其经由总线530彼此通信。
处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或者是实施其它指令集的处理器,或者是实施指令集的组合的处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似者。处理装置502经配置以执行用于执行本文所论述的操作及步骤的指令526。计算机系统500可进一步包含用于通过网络520进行通信的网络接口装置508。
数据存储系统518可包含机器可读存储媒体524(也称为计算机可读媒体),在其上存储体现本文所描述的方法或功能中的任一者或多者的一或多组指令526或软件。在由计算机系统500执行指令526期间,指令526也可全部或至少部分地驻留在主存储器504内及/或处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器子系统110。
在一个实施例中,指令526包含指令以实施对应于编程管理器(例如,图1的编程管理器113)的功能性。尽管在实施例的实例中将机器可读存储媒体524展示为单个媒体,但是术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”也应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任一者或多者的任何媒体。因此,术语“机器可读存储媒体”应被认为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已经根据对计算机存储器内的数据位的操作的算法及符号表示来呈现前述详细描述的一些部分。这些算法描述及表示是数据处理领域的技术人员用来最有效地向所属领域的其它技术人员传达其工作实质的方式。此处,算法通常被认为是导致所需结果的自洽操作序列。所述操作是需要对物理量的物理操纵的操作。通常但不是必须的,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。有时已经证明,主要出于通用的原因将这些信号称为位、值、元素、符号、字符、项、数字或类似者是方便的。
然而,应牢记,所有这些术语及类似术语均应与适当物理量相关联并且仅仅是应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,所述计算机系统或类似电子计算装置将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量。
本公开还涉及用于执行本文的操作的设备。此设备可经特定构造用于预期目的,或者其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。举例来说,计算机系统或例如控制器115的其它数据处理系统可响应于其处理器执行存储器或其它非暂时性机器可读存储媒体中含有的计算机程序(例如,指令序列)来实行计算机实施的方法200及400。此计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适用于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文提出的算法及显示并非固有地与任何特定计算机或其它设备相关。各种通用系统可与根据本文的教示的程序一起使用,或者可证明构造更专用设备来执行所述方法是方便的。各种这些系统的结构将如下文描述中所阐述那样出现。另外,未参考任何特定编程语言来描述本公开。将了解,可使用各种编程语言来实施如本文所描述的本公开的教示。
本公开可被提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以由机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,已经参考本公开的特定实例实施例描述本公开的实施例。显而易见的是,在不脱离如所附权利要求书中阐述的本公开的实施例的更广泛精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应被认为是说明意义而不是限制意义的。
Claims (20)
1.一种方法,其包括:
接收用于编程到存储器的第一组数据位;
在第一遍次编程期间将所述第一组的数据位的第一子集写入到所述存储器的第一字线;
将所述第一组数据位中的数据位的第二子集写入到缓冲器,其中数据位的所述第二子集不同于数据位的所述第一子集;
接收用于编程的第二组数据位,其中所述第二组数字位将被编程到第二字线;以及
响应于接收到所述第二组数据位而在第二遍次编程期间将所述第一组数据位中的数据位的所述第二子集写入到所述第一字线,数据位的所述第二子集的所述写入包含所述第一字线中的存储器单元的位密度的增加。
2.根据权利要求1所述的方法,其中所述写入数据位的所述第二子集包含使用所述第二组数据位来确定数据位的所述第二子集中的一或多个位的阈值电压的调整电压。
3.根据权利要求2所述的方法,其中所述调整包括:
针对将在第一遍次编程中编程的所述第二组数据位中的数个位,将所述阈值电压增加第一量;以及
针对将在第一遍次编程中编程的所述第二组数据位中的不同数目个位,将所述阈值电压增加第二量。
4.根据权利要求1所述的方法,其进一步包括将数据位的第三子集从所述第二组数据位写入到所述第二字线,其中写入数据位的所述第三子集导致所述第一字线的一或多个位的电压的移位。
5.根据权利要求1所述的方法,其中所述第一组数据位包含四个页面,且其中数据位的所述第一子集包含三个页面。
6.根据权利要求1所述的方法,其中以可读状态写入数据位的所述第一子集。
7.根据权利要求1所述的方法,其中所述缓冲器是NAND锁存器、SLC块或易失性存储器。
8.一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时致使所述处理装置进行以下操作:
接收用于编程到存储器的第一组数据页面,其中所述第一组页面包含四个页面;
在第一遍次编程期间,将页面的第一子集写入到第一字线;
将所述第一组页面中的所选择页面写入到缓冲器,其中所述所选择页面不同于页面的所述第一子集中的每一页面;
接收用于编程的第二组页面;以及
在第二遍次编程期间将所述第一组页面中的所述所选择页面写入到所述第一字线,其中所述所选择页面的所述写入包含使用所述第二组页面将调整电压施加到所述所选择页面,其中所述所选择页面的写入包含增加所述第一字线中的存储器单元的位密度。
9.根据权利要求8所述的非暂时性计算机可读存储媒体,其中响应于接收到用于编程的所述第二组页面而执行写入所述所选择页面。
10.根据权利要求8所述的非暂时性计算机可读存储媒体,其中施加调整电压包括:
针对将在第一遍次编程中编程的所述第二组页面中的数个页面,将阈值电压增加第一量;以及
针对将在第一遍次编程中编程的所述第二组页面中的不同数目个页面,将所述阈值电压增加第二量,其中所述第二量大于所述第一量。
11.根据权利要求8所述的非暂时性计算机可读存储媒体,所述指令进一步致使所述处理装置将页面的第三子集从所述第二组页面写入到第二字线,其中写入页面的所述第三子集致使所述第一字线的一或多个位的电压的移位。
12.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述第一组页面包含四个页面,且其中页面的所述第一子集是三个页面。
13.根据权利要求8所述的非暂时性计算机可读存储媒体,其中以可读状态写入页面的所述第一子集。
14.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述缓冲器是NAND锁存器、SLC块或易失性存储器。
15.一种系统,其包括:
存储器装置;及
处理装置,其能够操作地与多个存储器装置耦合以:
接收用于编程到存储器的第一组数据位;
在第一遍次编程期间将数据位的第一子集写入到第一字线;
将所述第一组数据位中的数据位的第二子集写入到缓冲器,其中数据位的所述第二子集不同于数据位的所述第一子集;
接收用于编程的第二组数据位;以及
在第二遍次编程期间将数据位的所述第二子集写入到所述第一字线,其中写入数据位的所述第二子集包含使用所述第二组数据位将调整电压施加到数据位的所述第二子集的阈值电压,其中数据位的所述第二子集的写入包含增加所述第一字线中的存储器单元的位密度。
16.根据权利要求15所述的系统,其中所述缓冲器是NAND锁存器、SLC块或易失性存储器。
17.根据权利要求15所述的系统,其中使用所述第二组数据位将调整电压所述施加到数据位的所述第二子集的所述阈值电压包括:
针对将在第一遍次编程中编程的所述第二组数据位中的数个位,将所述阈值电压增加第一量;以及
针对将在第一遍次编程中编程的所述第二组数据位中的不同数目个位,将所述阈值电压增加第二量,其中所述第二量大于所述第一量。
18.根据权利要求15所述的系统,其中进一步致使所述处理装置将数据位的第三子集从所述第二组数据位写入到第二字线,其中写入数据位的所述第三子集导致所述第一字线的一或多个位的所述电压的移位。
19.根据权利要求15所述的系统,其中所述第一组数据位包含四个页面,且其中数据位的所述第一子集包含三个页面。
20.根据权利要求15所述的系统,其中以可读状态写入数据位的所述第一子集。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/899,409 US20240071510A1 (en) | 2022-08-30 | 2022-08-30 | Two-pass corrective programming for memory cells that store multiple bits and power loss management for two-pass corrective programming |
US17/899,409 | 2022-08-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117636971A true CN117636971A (zh) | 2024-03-01 |
Family
ID=89998097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311013373.8A Pending CN117636971A (zh) | 2022-08-30 | 2023-08-11 | 用于校正性编程及功率损耗管理的方法、系统及非暂时性计算机可读存储媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20240071510A1 (zh) |
CN (1) | CN117636971A (zh) |
-
2022
- 2022-08-30 US US17/899,409 patent/US20240071510A1/en active Pending
-
2023
- 2023-08-11 CN CN202311013373.8A patent/CN117636971A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240071510A1 (en) | 2024-02-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113129982B (zh) | 在存储器子系统中管理子块擦除操作 | |
US11709605B2 (en) | Storing zones in a zone namespace on separate planes of a multi-plane memory device | |
CN115699185A (zh) | 在存储装置上每单元实施可变数目的位 | |
US11605439B2 (en) | Remapping bad blocks in a memory sub-system | |
CN113093990B (zh) | 存储器子系统处的数据块切换 | |
CN112449693B (zh) | 在存储系统的两遍编程之前执行读取操作 | |
US20220066651A1 (en) | Asychronous power loss handling using dummy writes in memory devices | |
US11907536B2 (en) | Data dispersion-based memory management | |
CN115295047A (zh) | 存储器子系统中的间歇式动态开始电压和编程验证采样 | |
CN115048040A (zh) | 基于有效数据的比率的媒体管理操作 | |
CN113555058A (zh) | 存储器装置中使用嵌入式伺服单元的读取电平校准 | |
CN113590022A (zh) | 用于存储器装置的系统和方法 | |
US20240071510A1 (en) | Two-pass corrective programming for memory cells that store multiple bits and power loss management for two-pass corrective programming | |
US11941290B2 (en) | Managing distribution of page addresses and partition numbers in a memory sub-system | |
CN115273925B (zh) | 存储器子系统刷新 | |
US20240071503A1 (en) | Padding in flash memory blocks | |
CN115048039B (zh) | 用于基于有效转换单元计数的存储器管理的方法、设备和系统 | |
US11693597B2 (en) | Managing package switching based on switching parameters | |
US11847349B2 (en) | Dynamic partition command queues for a memory device | |
US20230058232A1 (en) | Partition command queues for a memory device | |
US11899972B2 (en) | Reduce read command latency in partition command scheduling at a memory device | |
US20230064822A1 (en) | Temperature controlled media management operations at a memory sub-system | |
US11687248B2 (en) | Life time extension of memory device based on rating of individual memory units | |
US20240028252A1 (en) | Quick charge loss mitigation using two-pass controlled delay | |
US20230207028A1 (en) | Managing an adaptive data path selection threshold for a memory sub-system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |