CN109147846B - 读取电平跟踪和优化 - Google Patents

读取电平跟踪和优化 Download PDF

Info

Publication number
CN109147846B
CN109147846B CN201810228350.1A CN201810228350A CN109147846B CN 109147846 B CN109147846 B CN 109147846B CN 201810228350 A CN201810228350 A CN 201810228350A CN 109147846 B CN109147846 B CN 109147846B
Authority
CN
China
Prior art keywords
gradient
bin
pages
page data
read
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
Application number
CN201810228350.1A
Other languages
English (en)
Other versions
CN109147846A (zh
Inventor
R.D.巴恩特
A.G.科梅蒂
R.L.加尔布雷思
J.A.古德
N.拉文德兰
A.D.韦瑟斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SanDisk Technologies LLC
Original Assignee
Western Digital Technologies Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Western Digital Technologies Inc filed Critical Western Digital Technologies Inc
Publication of CN109147846A publication Critical patent/CN109147846A/zh
Application granted granted Critical
Publication of CN109147846B publication Critical patent/CN109147846B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1072Adding 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 multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • G11C16/3486Circuits or methods to prevent overprogramming of nonvolatile memory cells, e.g. by detecting onset or cessation of current flow in cells and using the detector output to terminate programming
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1057Data output buffers, e.g. comprising level conversion circuits, circuits for adapting load
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5644Multilevel memory comprising counting devices

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)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

描述了用于读取电平跟踪和优化的系统和方法。从闪速存储器器件的字线读取的页和从字线读取的原始页数据可以被缓冲在第一缓冲器组中。针对页中的每一个页的原始页数据可以被提供给解码器以用于解码并且针对页中的每一个页的解码的页数据可以被缓冲在第二缓冲器组中。可以基于原始页数据来标识针对字线的存储器单元的第一仓标识符并且可以基于解码的页数据来标识针对字线的存储器单元的第二仓标识符。可以基于第一仓标识符和第二仓标识符累加单元电平统计数值,并且可以基于针对页中的每一个页的的解码结果、和单元电平统计数值确定针对各个读取电平的梯度。可以基于所确定的梯度来在闪速存储器器件中配置针对读取电平的设置。

Description

读取电平跟踪和优化
相关申请的交叉引用
本申请要求根据35U.S.C.§119(e)享有标题为“READ LEVEL TRACKING ANDOPTIMIZATION”并于2017年6月27日提交的美国临时申请第62/525,677号的权益,其并入这里作为参考。
技术领域
本发明涉及读取电平跟踪和优化。
背景技术
闪速存储器单元通过捕获浮置栅极上的电子来编程,其将存储器单元的阈值电压增加到与期望的编程电平相对应的电平。随后通过将读取电平电压应用于闪速存储器单元以确定闪速存储器单元被编程到其的各个编程电平来从闪速存储器单元读取数据。随着闪速存储器系统老化,不同编程电平内的闪速存储器单元的分布可能相对于用来读取闪速存储器单元的读取电平电压变宽和移位。这些对分布的改变可能读取错误率并且可能导致数据的丢失。
发明内容
根据本主题技术的方面,提供了一种用于读取电平跟踪和调节的方法。该方法包括从闪速存储器器件的字线读取多个页以及在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据。该方法还包括将针对多个页中的每一个页的原始页数据提供给解码器以用于解码并且在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据。基于在第一缓冲器组中缓冲的原始页数据来标识针对字线的存储器单元的第一多个仓标识符,并且基于在第二缓冲器组中缓冲的解码的页数据来标识针对字线的存储器单元的第二多个仓标识符。基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值,并且基于针对多个页的解码结果、和单元电平统计数值确定针对多个读取电平中的每一个读取电平的梯度。基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置。
根据本主题技术的方面,提供了一种被编码具有指令的处理器可读存储介质,当该指令被处理器运行时使得处理器执行方法。该方法包括从闪速存储器器件的字线读取多个页以及在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据。该方法还包括将针对多个页中的每一个页的原始页数据提供给解码器以用于解码并且在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据。基于在第一缓冲器组中缓冲的原始页数据中的与各个存储器单元相对应的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,并且基于在第二缓冲器组中缓冲的解码的页数据中的与各个存储器单元相对应的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值,并且基于针对多个页的解码结果、和单元电平统计数值确定针对多个读取电平中的每一个的梯度。基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置。
根据本主题公开的方面,提供了一种数据存储系统,其包括包含多个字线的闪速存储器器件、第一缓冲器组、第二缓冲器组、以及控制器。该控制器被配置为从闪速存储器器件中的多个字线中的字线读取多个页以及在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据。该控制器还被配置为将针对多个页中的每一个页的原始页数据提供给解码器以用于解码并且在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据。该控制器还被配置为基于在第一缓冲器组中缓冲的原始页数据来标识针对字线的存储器单元的第一多个仓标识符,并且基于在第二缓冲器组中缓冲的解码的页数据来标识针对字线的存储器单元的第二多个仓标识符。该控制器还被配置为基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值,并且可以基于针对多个页中的每一个页的解码结果、和单元电平统计数值来确定针对多个读取电平中的每一个的包括幅度和方向的梯度。该控制器还被配置为基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置。
根据本主题公开的方面,提供了一种数据存储系统,其包括包含多个字线的闪速存储器器件、第一缓冲器组、以及第二缓冲器组。数据存储系统还包括用于基于在第一缓冲器组中缓冲的从字线读取的针对多个页中的每一个页的原始页数据来标识针对多个字线中的字线的存储器单元的第一多个仓标识符的装置。数据存储系统还包括用于基于从原始页数据解码并且在第二缓冲器组中缓冲的页数据来标识针对字线的存储器单元的第二多个仓标识符的装置。数据存储系统还包括用于基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值的装置和用于基于针对多个页中的每一个页的解码结果、和单元电平统计数值来确定针对多个读取电平中的每一个的梯度的装置。数据存储系统还包括用于基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置的装置。
要理解,从下面的详细描述中,本主题公开的其它配置对于本领域技术人员来说将容易变得显而易见,其中通过例示的方式示出和描述了本主题公开的各种配置。如将认识到的,本主题公开能够具有其它不同的配置,并且在所有不脱离本主题公开的范围的情况下,其若干细节能够在各种其它方面进行修改。因此,附图和具体实施方案本质上将被认为是例示性的而不是限制性的。
附图说明
图1是示出根据本主题技术的方面的闪速存储器单元的编程电平分布的图。
图2是示出根据本主题技术的方面的数据存储系统的组件的框图。
图3是示出根据本主题技术的方面的用于读取电平跟踪和调节的数据流的框图。
图4是示出根据本主题技术的方面的用于读取电平跟踪和调节的过程的流程图。
图5是示出根据本主题技术的方面的被划分为页的TLC(triple-level cell,三级单元)闪速存储器单元的编程电平分布的图。
图6是示出根据本主题技术的方面的单元电平统计数值的累加的图。
图7是示出根据本主题技术的方面的仓平衡模块内的输入和输出的框图。
图8是根据本主题技术的方面的分解用于为各个读取电平选择读取电平梯度的选择逻辑的框图。
具体实施方式
下面阐述的详细描述意图作为本主题公开的各种配置的描述,并不意图代表其中可以实践本主题公开的唯一配置。附图在此并入并构成详细描述的一部分。详细描述包括用于提供对主题公开的透彻理解的目的具体细节。然而,对于本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实践本主题公开。在一些实例中,以框图形式示出结构和组件,以避免模糊本主题公开的概念。为了便于理解,类似的组件标有相同的元件编号。
本主题技术专注于闪速存储器系统中读取电平的跟踪和优化。如下面详细讨论的那样,本主题技术实施读取电平调节控制环路,在此环路期间使用读取操作期间聚集的统计数值和基于统计数值确定的用于调节读取电平的梯度来周期性地评估读取级别。确定的梯度提供了用于在每次迭代期间将各个读取电平调节为接近最佳电平的幅度和方向。
图1是示出根据本主题技术的方面的闪速存储器单元的编程电平分布的图。图1示出了三级单元(TLC)闪速存储器器件中八个编程电平的分布。八个编程电平的分布在图1中由与各个编程电平相对应的逻辑值来标识。在示出的示例中,与各个编程电平相对应的逻辑值包括“111”、“110”、“100”、“000”、“010”、“011”、“001”和“101”。逻辑值代表存储在被编程到各个编程电平的闪速存储器单元中的数据值的较高位、中间位和较低位。
如图1中进一步所示,利用竖直虚线指示七个读取电平。读取电平包括RL1、RL2、RL3、RL4、RL5、RL6和RL7。这些读取电平代表要应用于闪速存储器单元以确定每个闪速存储器单元已经被编程到其的编程电平的电压电平。读取电平被描绘为放置在编程电平分布的相交点处。跨越读取电平的特定编程电平分布的部分代表读取错误。例如,与跨越RL1读取电平的“111”相对应的编程电平分布的部分中的闪速存储器单元可能被错误地读取为与“110”相对应的编程电平分布的部分。将读取电平保持在编程电平分布交叉点处或附近以帮助最小化这些读取错误。如下面更详细讨论的,跟踪这些类型读取错误的量可以用于评估和调节读取电平电压。
在图1中还示出了被标识为BIN 0、BIN 1、BIN 2、BIN 3、BIN 4、BIN 5、BIN 6和BIN7的八个仓。这些仓中的每一个仓代表闪速存储器单元可以被编程到其的阈值电压的范围。例如,具有小于或等于RL 1电压的阈值电压的所有闪速存储器单元可以被标识为处于BIN0中。类似地,具有大于RL 1电压且小于或等于RL 2电压的阈值电压的所有闪速存储器单元可以被标识为处于BIN 1中。以相同的方式使用约束各个仓的各个读取电平电压来确定BIN2至BIN 7。当从闪速存储器单元读取的数据不可解码时,如下面更详细讨论的,本主题技术利用每个仓中的闪速存储器单元的计数来评估和调节读取电平电压。
图2是示出根据本主题技术的方面的数据存储系统100的组件的框图。如图2中描绘的,数据存储系统100包括控制器110、易失性存储器120、非易失性存储器130和主机接口140。控制器110被配置为处理从主机系统150经由主机接口140接收的访问非易失性存储器130中的数据的请求。从主机系统150接收到的数据访问请求可以包括将主机数据存储在非易失性存储器130中的写入请求、取回存储在非易失性存储器130中的主机数据的读取请求、以及擦除存储在非易失性存储器130中的主机数据的擦除请求。可以从主机系统150接收并由控制器110处理其它类型的请求,诸如状态请求或设备管理请求。
主机接口140被配置为将主机系统150耦合到数据存储系统100。主机接口140可以包括用于将主机系统150可操作地耦合到控制器110的电气和物理连接。经由电气和物理连接,主机接口140被配置为在主机系统150和控制器110之间通信传达数据、地址和控制信号。控制器110被配置为响应于从主机系统150接收到的写入请求而将从主机系统150接收的主机数据存储在非易失性存储器130中,以及响应于从主机系统150接收到的读取请求而读取存储在非易失性存储器130中的主机数据并且经由主机接口140将读取的主机数据传送到主机系统150。
主机接口140可以实施标准接口,该标准接口包括但不限于,串行高级技术附件(Serial Advanced Technology Attachment,SATA)、高级技术附件(Advanced TechnologyAttachment,ATA)、小型计算机系统接口(Small Computer System Interface,SCSI)、PCI-扩展(PCI-extended,PCI-X)、光纤通道、串行附接SCSI(Serial Attached SCSI,SAS)、安全数字(Secure Digital,SD)、嵌入式多媒体卡(Embedded Multi-Media Card,EMMC)、通用闪速存储(Universal Flash Storage,UFS)和外围组件互连高速(Peripheral ComponentInterconnect Express,PCIe)。然而,本主题技术不限于标准接口的使用并且可以利用定制或私有接口来与主机系统150通信。
主机系统150代表被配置为经由主机接口140耦合到数据存储系统100并与数据存储系统100通信以在数据存储系统100中存储和取回数据的任何设备。主机系统150可以是诸如个人计算机、服务器、工作站、膝上型计算机、智能电话等的计算设备。可替换地,主机系统150可以是诸如数字相机、数字音频播放器、数字视频录像机等的电子设备。
控制器110被配置为响应于从主机系统150接收的请求并且在内部维护操作的运行期间来监视和控制数据存储系统100的组件的操作。控制器110可以包括多核处理器、通用微处理器、微控制器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(fieldprogrammable gate array,FPGA)、可编程逻辑器件(programmable logic device,PLD)、状态机、门控逻辑、分立硬件组件或前述的组合。在一些方面,控制器110的一个或多个组件可以被集成到单个芯片或模块中,或者可以被实施在两个或更多个分立芯片或模块中。
易失性存储器120代表由控制器110用来临时存储用于管理数据存储系统100的数据和信息的存储器。例如,控制器110可以将易失性存储器120用作用于等待被写入到非易失性存储器130的主机数据的缓冲器,或者用于从非易失性存储器130读取的、等待被传送到主机系统150或写回到非易失性存储器130的主机数据的缓冲器。根据在这里描述的主题技术,控制器120还可以将易失性存储器120用作用于在读取电平的跟踪和调节中使用的原始页数据和解码的页数据的缓冲器。控制器110还可以在易失性存储器120中存储用在数据存储系统100的管理中的各种类型的系统数据。系统数据可以包括将由主机系统150引用的逻辑地址映射到非易失性存储器130的物理地址的表、编程/擦除(program/erase,P/E)循环计数、错误统计数值、有效/无效数据计数等。控制器110可以将上面描述的数据和信息的一些或所有存储在非易失性存储器130、或未示出的另一形式的非易失性存储器中,以便当数据存储系统100关闭或以其它方式失去电力时保存数据和信息。控制器110可以周期性地将数据和信息的副本存储在非易失性存储器130中,或者可以等待关机或电力失去事件来在非易失性存储器130中备份数据和信息。
易失性存储器120可以是诸如静态RAM(Static RAM,SRAM)或动态RAM(DynamicRAM,DRAM)的随机存取存储器(Random-Access Memory,RAM)。然而,本主题技术不限于任何特定类型的RAM。此外,易失性存储器120可以使用单个RAM模块或多个RAM模块来实施。尽管易失性存储器120被描绘为不同于控制器110,但是易失性存储器120的部分或全部可以被并入控制器110中。
如图2中所描绘的,多个非易失性存储器器件130被布置在多个通道中。例如,图2示出了N个通道中的每一个通道具有一个非易失性存储器器件130。非易失性存储器器件130中的每一个可以包括单个裸芯或多个裸芯。每个裸芯可以包括非易失性存储器单元(诸如NAND闪速存储器单元)的阵列,其中每个单元可以用于存储一个或多个比特的数据。为了该描述的目的,闪速存储器单元被配置为在三层单元(TLC)配置中每单元存储三个比特的数据。然而,本主题技术不限于这种配置,并且可以在被配置为在多级单元(multi-levelcell,MLC)配置中每单元存储两个比特的数据、在四级单元(quad-level cell,QLC)配置中每单元存储四个比特等的系统中来实施。非易失性存储器器件130中的每一个可以以各个芯片或封装来实施。虽然每个通道被描绘为具有单个非易失性存储器器件130,但是本主题技术可以包括其中每个通道包括两个或更多个非易失性存储器器件130的实施方式。
裸芯的闪速存储器单元可以被布置在物理块中,其中每个块包含多个字线。每个字线包括许多存储器单元(例如,1K、2K、4K等)。取决于每单元存储的比特数,可以在每个字线中存储多页数据。例如,在TLC闪速存储器中,可以在每个字线中存储三页数据。本主题技术不限于在每个物理块中的任何特定数量的字线。例如,每个块可以包含8个字线、16个字线、32个字线等。另外,每个闪速存储器裸芯中包含的物理块的数量不限于任何特定数量。在NAND闪速存储器中,字线的页或作为整体的整个字线代表可用于将数据写入闪速存储器裸芯或从闪速存储器裸芯读取数据的最小单位。物理块代表可用于擦除闪速存储器裸芯中的数据的最小单位。
控制器110被配置为经由各个闪速存储器通道0-N与闪速存储器裸芯通信传达命令、控制信息、地址、数据等。每个通道可以代表一个或多个总线,该一个或多个总线被配置为在控制器110和被耦合到各个闪速存储器通道的闪速存储器裸芯之间通信传达用命令、控制信息、地址和/或数据编码的电气信号。本主题技术不限于任何特定数量的闪速存储器通道。例如,在不脱离本主题技术的范围的情况下,数据存储系统100可以包括8个通道、16个通道、32个通道等。
图3是示出根据本主题技术的方面的用于读取电平跟踪和调节的数据流的框图。具体地,图3示出了从非易失性存储器130读取的并由控制器110接收以用于根据本文描述的方法处理的页数据流。简要地,从字线读取针对存储在字线中的每个页(例如,较高页、中间页、较低页)的原始页数据并将其缓冲在第一缓冲器组305中。原始页数据被提供给解码器310以用于解码,并且解码的页数据从解码器310缓冲在第二缓冲器组315中。选择逻辑320可以用于在一个或多个页的解码不成功的事件(如来自解码器310的解码成功信号所指示的)中将原始页数据存储在第二缓冲器组中,或将来自用于操作的诊断模式的诊断数据325的已知数据值存储在第二缓冲器组中。
在第一缓冲器组305中缓冲的原始页数据和在第二缓冲器组315中缓冲的解码的页数据被提供给单元电平统计数值模块330以用于处理。具体地,单元电平统计数值模块330处理原始页数据和解码的页数据来累加单元电平统计数值以用于确定调节读取电平的梯度,如下面更详细地描述的。单元电平统计数值从单元电平统计数值模块330被提供给仓平衡模块335和决策导向模块340以分别基于仓平衡算法和决策导向算法来确定梯度。然后选择逻辑345用于基于指示哪些页被成功解码以及哪些页没有被成功解码的解码成功信号来从两种不同算法中为读取电平中的每一个读取电平选择梯度。从两种算法中选择的梯度被用来在非易失性存储器130中配置用于读取电平的设置。读取电平跟踪模块可以管理该过程并向非易失性存储器130发出命令以配置读取电平设置。这个过程将在下面被更详细地描述。
除了在图3中描绘的组件以外,控制器110可以包括其它组件。例如,控制器110可以包括用于管理数据存储系统100内的读取、写入和擦除操作的管理器和调度器。除了解码器310之外,控制器110还可以包括用于在存储在非易失性存储器130中之前用于编码的数据的编码器。编码器和解码器不限于任何特定的纠错码(error-correcting code,ECC)算法。例如,低密度奇偶校验码可以被用来对数据存储系统100内的数据进行编码和解码。控制器110可以包括编码器和解码器的多个实例,其中一些可以专用于软解码过程,而另一些可以专用于硬解码过程。控制器110还可以包括地址转换管理器,以管理由主机系统150使用的主机地址到非易失性存储器130内的块、字线和页的物理地址的转换。其它组件可以包括扰码器、解扰器、维护管理器(例如,垃圾收集、损耗均衡、数据重新定位等)。
可以使用硬件逻辑电路或者硬件与软件/固件的组合,使用由处理器或处理器内核加载和运行的一个或多个指令序列(例如,软件/固件)来实施控制器110的每个组件。例如,在包括多个处理器或多核处理器的控制器中,单个处理器或处理器内核可以被分配以提供控制器110的各个组件的功能。此外,在不脱离本主题技术的范围的情况下,可以在控制器110的外部实施上面讨论的一个或多个组件。
图4是示出根据本主题技术的方面的读取电平跟踪和调节的过程的流程图。该过程可以由控制器110作为周期性维护过程的一部分或者响应于触发事件而发起。触发事件可以包括超过阈值的错误率、达到里程碑的编程/擦除周期计数、达到阈值的数据保留时间等。该过程可以使用从块的字线读取的数据来执行、该块的字线从非易失性存储器器件130的每一个、从非易失性存储器器件130中的各个裸芯、从非易失性存储器器件130内的块的逻辑组等中来选择。块可以具有被指定用于此过程的字线,或者控制器可以从随机给定的块中或根据预定顺序来选择字线。
在控制器选择块和块内的字线时,控制器110可以向包含选择的块的非易失性存储器器件130发出读取命令,并且存储在字线中的页被返回到控制器110(方框400)。如以上针对图1所讨论的,TLC闪速存储器单元被配置为在每个单元中存储三个比特的数据。在字线中,来自字线中的每个单元的较高位构成数据的较高页,来自字线中的每个单元的中间位构成数据的中间页,并且来自字线中的每个单元的较低位构成较低页。图5中示出了字线中的数据被分为较高页、中间页和较低页的分解。
图5是示出根据本主题技术的方面的被划分为页的TLC闪速存储器单元的编程电平分布的图。编程电平分布中每一个编程电平利用与每个页的各个编程电平分布相对应的逻辑数据值来示出。图5中还指示了从字线读出页中的每一个页的读取电平和逻辑操作。例如,为了从字线读取较高页,读取电平RL3和RL7被应用于字线中的存储器单元,并且在逻辑操作中对结果进行XOR(异或)以确定在较高页中,字线中的哪些存储器单元被编程为逻辑“1”数据值以及字线中的哪些存储器单元被编程为逻辑“0”数据值。类似地,读取电平RL2、RL4和RL 6被用来读出字线的中间页的数据值,并且读取电平RL1和RL5被用来读出字线的较低页的数据值。将逻辑数据值分配给各个编程电平分布是基于可配置的灰度编码方案。本主题技术不限于图5示出的灰度编码方案,并且可以使用其它灰度编码方案来实施。
返回图4,当从非易失性存储器器件130读取并接收到针对每页的原始页数据时,控制器110将原始页数据缓冲在第一缓冲器组305中(方框405)。例如,第一缓冲器组可以包括具有持有较高页、中间页和较低页中的每一个页的整页原始页数据的容量的缓冲器。
除了缓冲从字线读取的页的原始页数据之外,控制器110还将针对页中的每一个页的原始页数据提供给解码器310以用于解码(方框410)。解码器310可以采用ECC算法来解码每个页的原始页数据。例如,解码器310可以使用LDPC(Low Density Parity CheckCode,低密度奇偶校验码)算法来解码原始页数据。解码器310可以作为硬解码器或软解码器来操作。在完成解码过程时,解码器310提供解码的页数据和解码成功信号。针对页中的每一个页的解码的页数据被存储在类似于第一缓冲器组305的第二缓冲器组315中(方框415)。解码成功信号可以包括用于较高页、中间页和较低页中的每一个页的比特,以指示各个页的原始页数据是否被成功解码。解码成功信号可以通过设置寄存器中的比特值来提供,该寄存器可以被控制器110内的其它组件访问以执行下面描述的其它操作。
如果从字线读取的一个或多个页没有被成功解码,则成功信号中的相应比特将被设置为指示失败,并且从字线读取的针对该页的原始页数据将被缓冲在第二缓冲器组的相对应的缓冲器中。在某些诊断模式中,控制器110可以绕过解码过程并将包括已知数据值的诊断数据加载到第二缓冲器组315中。例如,已知的数据值可能已经被编程到指定块的指定字线中。控制器110可以选择将来自诊断数据325的已知数据值加载到第二缓冲器组315中,并使用已知数据值连同原始页数据一起来完成该过程,而不对从指定字线读取的原始页数据进行解码。
随着原始页数据被加载到第一缓冲器组中并且解码的页数据被加载到第二缓冲器组中,针对字线的存储器单元中的每一个来标识仓标识符。根据本主题技术的方面,使用在第一缓冲器组中缓冲的原始页数据来为字线的存储器单元确定第一仓标识符组,并使用在第二缓冲器组中缓冲的解码的页数据来为字线的存储器单元确定第二仓标识符组(方框420)。使用对于给定的存储器单元的较高页、中间页和较低页中的每一个页的数据值,可以使用反向灰度编码映射或查找表来标识仓标识符。返回参考图1,例如,表1可以被用来基于从存储器单元读取的数据值来标识与每个存储器单元相对应的仓:
Figure BDA0001601990750000111
表1
本主题技术不限于表1中所示的映射。在本主题技术的范围内可以使用生成不同映射的其它灰度编码方案。表1可以被存储在控制器110内,并且如果数据存储系统100被配置为根据不同的灰度编码方案存储数据,则表1可以被替换为其它表。
使用第一和第二仓标识符组,在单元电平统计数值模块330中基于仓标识符组来累加单元电平统计数值(方框425)。图6是示出根据本主题技术的方面的单元电平统计数值的累加的图。如图6所描绘的,使用诸如上面示出的表1的查找表,来自较高页、中间页和较低页中的每一个页的数据值被用来标识针对存储器单元的仓标识符。基于原始页数据为给定存储器单元确定的仓标识符在图6中指示为“X”,并且基于解码的页数据为存储器单元确定的仓标识符在图6中指示为“Y”。对于字线中的存储器单元中的每一个,这两个仓标识符值被提供给逻辑600、逻辑605和逻辑610以累加在本文描述的过程的方面中使用的单元电平统计数值。逻辑600、逻辑605和逻辑610可以使用硬件逻辑电路、由处理器或处理器的组运行的软件或固件,或者硬件逻辑电路和软件/固件的组合来实施。
逻辑600代表由读取电平电压被设置在最佳电压以下所导致的读取错误的确定。在这种情况下,存储器单元可以基于原始页数据被标识为正处于第一仓中,但是基于解码的页数据被修正为较低仓。例如,可以基于从字线读取的原始页数据将存储器单元标识为在与图1中的数据值110相对应的仓1(即,X>0)中被编程。在解码原始页数据之后,存储器单元可以被标识为处于与图1中的数据值111相对应的仓0(即,Y=0)中。如果这些条件被满足(X>0且Y=0),则累加器DR1增加。类似地,如果满足X>1和Y=1被满足,则累加器DR2增加,如果X>2和Y=2被满足,则累加器DR3增加,如果X>3和Y=3被满足,则累加器DR4增加,如果X>4和Y=4被满足,则累加器DR5增加,如果X>5和Y=5被满足,则累加器DR6增加,并且如果X>6和Y=6被满足,则累加器DR7增加。
逻辑605代表由读取电平电压被设置在最佳电压以上所导致的读取错误的确定。在这种情况下,存储器单元可以基于原始页数据被标识为正处于第一仓中,但是基于解码的页数据被修正为较低仓。例如,可以基于从字线读取的原始页数据将存储器单元标识为在与图1中的数据值111相对应的仓0(即,X<1)中被编程。在解码原始页数据之后,存储器单元可以被标识为处于与图1中的数据值110相对应的仓1(即,Y=1)中。如果这些条件被满足(X<1且Y=1),则累加器DL1增加。类似地,如果满足X<2和Y=2被满足,则累加器DL2增加,如果X<3和Y=3被满足,则累加器DL3增加,如果X<4和Y=4被满足,则累加器DL4增加,如果X<5和Y=5被满足,则累加器DL5增加,如果X<6和Y=6被满足,则累加器DL6增加,并且如果X<7和Y=7被满足,则累加器DL7增加。
逻辑610代表跟踪被标识为处于八个仓中的每一个仓中的存储器单元的实例数量或计数。当存储器单元被标识为处于特定仓中时,与该仓相对应的累加器增加。如图6中所指示的,累加器BS0用于仓0(Y=0),累加器BS1用于仓1(Y=1),累加器BS2用于仓2(Y=2),累加器BS3用于仓3(Y=3),累加器BS4用于仓4(Y=4),累加器BS5用于仓5(Y=5),累加器BS6用于仓6(Y=6),以及累加器BS7用于仓7(Y=7)。
累加器中的每一个累加器可以使用多位寄存器(例如,32位)来实施。累加器可以在单个字线的处理已经完成之后被重置,或者可以被维持用于多个字线的处理。例如,为了根据本主题技术的方面来调节读取电平的目的,可以针对特定块的一个或多个字线或来自多个不同块的多个字线来累加单元电平统计数值。
一旦针对字线或字线的组累加了单元电平的统计数值,单元电平统计模块330将累加器值、或者对各个累加器的访问提供给仓平衡模块335和决策导向模块340以确定针对读取电平的梯度(方框430)。
仓平衡模块335实施仓平衡梯度算法。根据本主题技术的方面,仓平衡梯度算法基于针对字线或字线的组所累加的仓计数BS0-BS7来确定针对各个读取电平的梯度。仓平衡梯度算法不依赖于解码的数据,因此当原始页数据具有相对高的错误率并且可能不可解码时提供梯度确定。然而,仓平衡梯度算法依赖于这样的假设,即在最佳读取电平设置下,跨越所有仓的仓计数将相等,因此对数据模式是敏感的,并且当写入数据到非易失性存储器器件130时使用随机数据模式时是有效的。
仓平衡梯度算法使用梯度生成矩阵来解耦梯度并提高算法的质量。梯度生成矩阵是基于仓计数和读取电平梯度之间的相关性的基本模型。根据本主题技术的方面,基本模型可以由以下表示:
Figure BDA0001601990750000131
等式(1)示出了具有描述仓计数(BS0-BS7)如何随着读取电平偏移或者针对读取电平的梯度(BG1-BG7)改变的元素的矩阵C。取矩阵C的伪逆提供梯度生成矩阵。伪矩阵使用以下来确定:
C+=(CTC)-1CT (2)
使用来自上面等式(1)的矩阵C的伪逆作为梯度生成矩阵,以下等式将仓计数(BS0-BS7)转换为针对读取电平的解耦的梯度(BG1-BG7):
Figure BDA0001601990750000132
当从字线读取的页都不可解码时,使用等式(3)中的梯度生成矩阵。例如,用于较高页、中间页和较低页的解码成功信号被设置为指示三个页中没有一个可被解码器310解码(例如,设置为逻辑0)。当一个或多个页可解码时,本主题技术使用生成针对用来读取由解码器310解码的页的读取电平的零梯度的梯度生成矩阵。例如,如果从字线读取的较高页是由解码成功信号(1,0,0)指示可解码的,则第三和第七列(对应于如图5所示的用于读取字线的较高页的读取电平RL3和RL7)在计算伪逆以用作生成矩阵之前从C矩阵中移除。移除这些列后,用于将仓计数转换为解耦的梯度的梯度生成矩阵变为:
Figure BDA0001601990750000141
通过从与用于读取被成功解码的页的读取电平相对应的初始C矩阵中移除列,并且计算用作梯度生成矩阵的伪逆,可以针对可解码/不可解码页(例如,解码成功信号(0,1,0)、(0,0,1)、(0,1,1)、(1,1,0))的每个组合来重复确定等式(4)中的梯度生成矩阵的过程。根据该过程,当所有三页可解码时(例如,解码成功信号(1,1,1)),梯度生成矩阵的所有元素为零。
根据本主题技术的各方面,缩放因子被应用于矩阵的伪逆以使得梯度生成矩阵中的所有元素是整数。例如,等式(4)中的梯度生成矩阵通过将伪逆矩阵的元素缩放24来创建。使用整数元素简化了实施仓平衡模块335以生成梯度所要求的逻辑。选择缩放因子24作为使得来自可解码页的不同组合的所有伪逆矩阵的所有元素成为整数值的最小缩放因子。
图7是示出根据本主题技术的方面的仓平衡模块335内的输入和输出的框图。仓平衡模块335为从字线读取的可解码/不可解码页的所有不同组合存储梯度生成矩阵。仓平衡模块335从单元电平统计数值模块330接收仓计数(BS0-BS7),使用由解码器310生成的解码成功信号来选择适当的梯度生成矩阵,并生成读取电平梯度BG1-BG7,该解码成功信号指示较高页、中间页和较低页是否可解码。
在读取电平梯度BG1-BG7被确定之后,读取电平梯度可以被映射到用于在非易失性存储器器件130中配置用于读取电平的设置的最终梯度。根据本主题技术的方面,仓平衡映射基于以下等式来确定通过其调节非易失性存储器器件130中的读取电平设置的值和符号:
Figure BDA0001601990750000151
BG代表使用上面针对正在为其做出映射的特定读取电平讨论的梯度生成矩阵生成的读取电平梯度。例如,分别使用BG1至BG7为RL1至RL7中的每一个做出该映射。BB增益选择值是可编程的值,该可编程的值可以使用仿真或实验室测试、以从值的可用范围中选择的值、在仓平衡模块335中被编程,以识别使误差率最小化的值。例如,范围可以设置为1到64的值。编程的BB增益选择值可以取决于可用于调节读取电平的电平的粒度(granularity)而变化。例如,在作为TLC闪速存储器操作的非易失性存储器器件中,在跨越可为读取电平设置的阈值电压范围内可以存在512个电平,并且BB增益选择值可以被设置为32。对于作为QLC闪速存储器操作的非易失性存储器器件,在跨越可为读取电平设置的阈值电压范围内可以存在1024个电平,并且BB增益选择值可以被设置为5。
等式(5)中示出的除数与BB增益选择值一起工作以解释用于使得梯度生成矩阵的元素成为整数值的缩放因子。“fix”函数将等式的结果舍入到最接近零的整数。为了避免在过程的每次迭代期间读取电平的大跳跃,可以指定饱和值,使得如果映射梯度幅度超过正饱和值或负饱和值,则最终梯度被设置为正饱和值或负饱和值(例如+8或-8)。
决策导向模块340实施决策导向算法。根据本主题技术的方面,决策导向算法基于由于读取电平被设置为高于或低于最佳读取电平(例如,DR1-DR7和DL1-DL7)而引起的读取错误计数,来确定针对各个读取电平的梯度。例如,决策导向算法可以设法平衡针对每个读取电平的这些读取错误计数。不同于仓平衡算法,决策引导算法对比特模式不敏感,但要求原始页数据可由解码器310解码。另外,可以调节决策引导算法以对在某些类型的闪速存储器(诸如3D-NAND闪速存储器)中可能是常见的不相似仓分布作出解释。
使用读取错误计数DR1-DR7和DL1-DL7,执行映射以确定通过其调节各个读取电平的最终梯度。根据本主题技术的方面,可以使用以下等式来从各个累加的读取错误计数映射针对每个读取电平的梯度:
Figure BDA0001601990750000161
DD增益选择值是可编程值,该可编程的值可以使用模拟或实验室测试、以从值的可用范围中选择的值、在决策导向模块340被编程以标识使错误率最小化的值。例如,范围可以被设置为值1至值15。编程的DD增益选择值可以取决于可用于调节读取电平的电平的粒度而变化。例如,在作为TLC闪速存储器操作的非易失性存储器器件中,在跨越可为读取电平设置的阈值电压范围内可以存在512个电平,并且DD增益选择值可以被设置为4。对于作为QLC闪速存储器操作的非易失性存储器设备,在跨越可为读取电平设置的阈值电压范围内可以存在1024个电平,并且DD增益选择值可以被设置为8。
等式(6)中所示的除数代表一个示例并且可以基于模拟或测试结果来设置。与上面的方程(5)一样,“fix”函数将等式的结果舍入到最接近零的整数。为了避免在过程的每次迭代期间读取电平的大跳跃,可以指定饱和值,使得如果映射值超过正饱和值或负饱和值,则调节值被设置为正饱和值或负饱和值(例如+8或-8)。
如上所述,决策导向算法可以被配置为平衡针对每个读取电平的读取错误计数。平衡读取错误计数可以被认为是平衡跨越两个分布之间的读取电平的相邻分布的尾部下的区域。但是,当相邻分布不相似时,平衡这些读取错误可能不会产生数据存储系统的最低总体比特误码率。当读取电平接近两个相邻分布的相交点,而不是接近均衡各个尾部下的区域的位置时,数据存储系统的比特误码率可能较低。与第二编程电平分布相比,不相似的分布经常发生在作为存储器单元的擦除状态的第一编程电平分布中。其它相邻编程电平分布对也可以具有不相似的分布。
为了解释不相似的分布并确定使得各个读取电平接近产生最低比特率的最佳读取电平的梯度,可以将决策导向模块340编程为具有偏置特征以解释不相似的分布。根据本主题技术的方面,手动偏置可以被编程在决策导向模块340模块中。在手动偏置配置下,等式(6)被修改为:
Figure BDA0001601990750000162
如等式(7)所指示的,各个读取电平的DR的错误计数乘以衰减值Atten。Atten的值可以基于模拟或测试结果来选择,并且可以从诸如1、0.5、0.375、0.25等的值中选择。
可替换地,决策导向模块340可以被编程为具有自动偏置特征,该自动偏置特征基于擦除状态西格玛估计器ESE(erase state sigma estimator,ESE)来调节针对各个读取电平的梯度。在自动偏置配置下,等式(6)被修改为:
Figure BDA0001601990750000171
ESE可以使用以下等式来确定:
Figure BDA0001601990750000172
尽管等式(9)示出了针对第一读取电平RL1的ESE值的计算,但该等式可适用于在本技术范围内的任何读取电平。
返回图4,控制器110选择由仓平衡模块335和决策导向模块340确定的最终读取电平梯度,并在非易失性存储器器件130中配置各个读取电平(方框435)。读取电平设置可以被维持在非易失性存储器器件130中的寄存器中。控制器110可以通过将已经新值编程到基于最终读取电平梯度调节的寄存器中来配置针对读取电平的设置。可以执行图4中表示的过程以调节用于由包含从其中读取页的字线的块代表的块的组、裸芯或裸芯的组、非易失性存储器器件或非易失性存储器器件的组等的读取电平。
根据本主题技术的方面,可以使用选择逻辑345来从由仓平衡模块335和决策导向模块340确定的梯度中选择最终读取电平梯度。仓平衡模块335和决策导向模块340之间的选择是使用选择逻辑345基于指示从字线读取的哪些页是可解码的解码成功信号来进行的。图8是根据本主题技术的方面的分解用于为各个读取电平选择读取电平梯度的选择逻辑的框图。
如图8所描绘的,利用由对应于各个页的解码成功信号驱动的多路复用器逻辑,来从仓平衡模块输出和决策导向模块中选择读取电平梯度(ΔRL1/BG1、ΔRL2/BG2、ΔRL3/BG3、ΔRL4/BG4、ΔRL5/BG5、ΔRL6/BG6和ΔRL7/BG7)。基于用于读取特定页的读取电平来选择特定解码成功信号。如图5中所指示的,使用读取电平RL1和读取电平RL5从字线读取较低页。因此,如果较低页是可解码的,则使用由决策导向模块确定的梯度来调节读取电平RL1和RL5。如果较低页是不可解码的,则使用由仓平衡模块确定的梯度来调节读取电平RL1和RL5。类似地,如果中间页是可解码的,则使用由决策导向模块确定的梯度调节读取电平RL2、RL4和RL6,并且如果中间页是不可解码的则使用由仓平衡模块确定的梯度调节读取电平RL2、RL4和RL6。类似地,如果较高页是可解码的,则使用由决策导向模块确定的梯度调节对于RL3和RL7的读取电平,并且如果较高页是不可解码的则使用由仓平衡模块确定的梯度调节对于RL3和RL7的读取电平。
图4中所示处的流程图的方框已经被描述为顺序地发生。本主题技术不限于示出的过程的所描述的顺序执行。在所示出的过程中,一个或多个方框可以与其它方框并行地被执行。所示出的过程中的其它变化在本主题技术的范围内。
针对以TLC配置操作的闪速存储器已经提供前面的描述。本主题技术不限于TLC闪速存储器并且可以被实践为通过使上述过程适应QLC闪速存储器以及其它类型的非易失性存储器来跟踪和调节其它类型的非易失性存储器,诸如QLC闪速存储器。本文将不会描述该适应。
根据本主题技术的方面,提供了一种用于跟踪和调节读取电平的方法。该方法可以包括从闪速存储器器件的字线读取页,以及在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据。该方法还可以包括将针对多个页中的每一个页的原始页数据提供给解码器以用于解码并且在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据。可以基于在第一缓冲器组中缓冲的原始页数据来标识针对字线的存储器单元的第一多个仓标识符,并且可以基于在第二缓冲器组中缓冲的解码的页数据来标识针对字线的存储器单元的第二多个仓标识符。可以基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值,并且可以基于针对多个页的解码结果、和单元电平统计数值确定针对各个读取电平的梯度。可以基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置。
该方法还可以包括基于与各个存储器单元相对应的多个页的原始页数据中的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,以及可以基于与各个存储器单元相对应的多个页的解码的页数据中的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。标识第一多个仓标识符可以包括将反向灰度编码应用于原始页数据中的逻辑值,并且标识第二多个仓标识符可以包括将反向灰度编码应用于解码的页数据中的逻辑值。
累加单元电平统计数值可以包括基于所标识的第一多个仓标识符或者所标识的第二多个仓标识符来增加仓计数。累加单元电平统计数值还可以包括分别将第一多个仓标识符与第二多个仓标识符进行比较,并且基于第一多个仓标识符与第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数。
确定针对多个读取电平中的每一个读取电平的梯度可以包括,将梯度生成矩阵应用于仓计数以确定第一梯度组以及基于第一错误类型计数和第二错误类型计数之间的差异确定第二梯度组。针对多个读取电平中的每一个,可以基于针对多个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度。通过基于针对多个页中的每一个的解码结果从多个梯度生成矩阵选择梯度生成矩阵,并将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组,可以将梯度生成矩阵应用于仓计数。所确定的梯度中的每一个可以包括用于在闪速存储器器件中调节多个读取电平的各个读取电平的幅度和方向。
根据本主题技术的方面,提供了一种被编码具有指令的处理器可读存储介质,当所述指令被处理器运行时使得所述处理器执行方法。该方法可以包括从闪速存储器器件的字线读取多个页以及在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据。该方法还可以包括将针对多个页中的每一个页的原始页数据提供给解码器以用于解码并且在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据。可以基于在第一缓冲器组中缓冲的原始页数据中的与各个存储器单元相对应的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,并且可以基于在第二缓冲器组中缓冲的解码的页数据中的与各个存储器单元相对应的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。可以基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值,并且可以基于针对多个页的解码结果、和单元电平统计数值确定针对各个读取电平的梯度。可以基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置。
可以通过将反向灰度编码应用于原始页数据中的逻辑值来标识第一多个仓标识符,并且可以通过将反向灰度编码应用于解码的页数据中的逻辑值来标识第二多个仓标识符。可以通过基于所标识的第一多个仓标识符或者所标识的第二多个仓标识符来增加仓计数、分别将第一多个仓标识符与第二多个仓标识符比较、以及基于第一多个仓标识符与第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数来累加单元电平统计数值。
可以通过将梯度生成矩阵应用于仓计数以确定第一梯度组、基于第一错误类型计数和第二错误类型计数之间的差异来确定第二梯度组、以及针对多个读取电平中的每一个基于针对多个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度来确定针对多个读取电平中的每一个读取电平的梯度。将梯度生成矩阵应用于仓计数可以包括通过基于针对多个页中的每一个页的解码结果从多个梯度生成矩阵中选择梯度生成矩阵,并将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组。所确定的梯度中的每一个可以包括用于在闪速存储器器件中调节多个读取电平的各个读取电平的幅度和方向。
根据本主题技术的方面,提供了一种数据存储系统,其包括包含多个字线的闪速存储器器件、第一缓冲器组、第二缓冲器组、以及控制器。该控制器可以被配置为从闪速存储器器件中的多个字线中的字线读取多个页以及在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据。该控制器还被配置为将针对多个页中的每一个的原始页数据提供给解码器以用于解码并且在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据。该控制器可以基于在第一缓冲器组中缓冲的原始页数据来标识针对字线的存储器单元的第一多个仓标识符,并且基于在第二缓冲器组中缓冲的解码的页数据来标识针对字线的存储器单元的第二多个仓标识符。该控制器可以基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值,并且可以基于针对多个页中的每一个的解码结果、和单元电平统计数值来确定针对多个读取电平中的每一个的包括幅度和方向的梯度。该控制器可以基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置。
该控制器可以基于与各个存储器单元相对应的多个页的原始页数据中的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,以及基于与各个存储器单元相对应的多个页的解码的页数据中的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。该控制器还被配置为通过将反向灰度编码应用于原始页数据中的逻辑值来标识第一多个仓标识符,并且通过将反向灰度编码应用于解码的页数据中的逻辑值来标识第二多个仓标识符。
该控制器还可以被配置为通过基于所标识的第一多个仓标识符或者所标识的第二多个仓标识符来增加仓计数、分别将第一多个仓标识符与第二多个仓标识符比较、以及基于第一多个仓标识符与第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数来累加单元电平统计数值。该控制器还可以被配置为通过将梯度生成矩阵应用于仓计数以确定第一梯度组、基于第一错误类型计数和第二错误类型计数之间的差异来确定第二梯度组、以及针对多个读取电平中的每一个基于针对多个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度来确定针对多个读取电平中的每一个读取电平的梯度。该控制器还可以被配置为通过基于针对多个页中的每一个页的解码结果从多个梯度生成矩阵选择梯度生成矩阵,并将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组来将梯度生成矩阵应用于仓计数。
根据本主题技术的方面,提供了一种数据存储系统,其包括包含多个字线的闪速存储器器件、第一缓冲器组、以及第二缓冲器组。该数据存储系统还可以包括用于基于在第一缓冲器组中缓冲的从字线读取的针对多个页中的每一个的原始页数据来标识针对多个字线中的字线的存储器单元的第一多个仓标识符的装置,以及用于基于从原始页数据解码并且在第二缓冲器组中缓冲的页数据来标识针对字线的存储器单元的第二多个仓标识符的装置。该数据存储系统还可以包括用于基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值的装置、用于基于针对多个页中的每一个的解码结果、和单元电平统计数值来确定多个读取电平中的每一个读取电平的梯度的装置、以及基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置的装置。
可以基于与各个存储器单元相对应的多个页的原始页数据中的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,以及可以基于与各个存储器单元相对应的多个页的解码的页数据中的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。用于标识第一多个仓标识符的装置可以包括用于将反向灰度编码应用于原始页数据中的逻辑值的装置,以及用于标识第二多个仓标识符的装置可以包括用于将反向灰度编码应用于解码的页数据中的逻辑值的装置。
用于累加单元电平统计数值的装置可以包括:用于基于所标识的第一多个仓标识符或者所标识的第二多个仓标识符来增加仓计数的装置、用于分别将第一多个仓标识符与第二多个仓标识符比较的装置、以及用于基于第一多个仓标识符与第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数的装置。用于确定针对多个读取电平中的每一个的梯度的装置可以包括:用于基于针对多个页中的每一个页的解码结果从多个梯度生成矩阵选择梯度生成矩阵的装置、用于将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组的装置、用于基于第一错误类型计数和第二错误类型计数之间的差异来确定第二梯度组的装置、以及用于针对多个读取电平中的每一个基于针对多个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度的装置。
许多上面描述的示例过程的特征和相关特征和应用可以被实施为被指定为记录在处理器可读的存储介质(也被称为计算机可读介质)上的一组指令的软件或固件过程。当这些指令由一个或多个处理单元(例如,一个或多个处理器、处理器的内核或其它处理单元)运行时,使得(多个)处理单元执行在指令中指示的动作。处理器可读介质的示例包括但不限于易失性存储器120,非易失性存储器130以及诸如磁介质、光介质和电子介质的其它形式的介质。处理器可读介质不包括无线地或通过有线连接通信的载波和电子信号。
在适当的情况下,术语“软件”意味着包括,在存储器中驻留的固件或存储器中存储的应用,其可以被读取到工作存储器以用于由处理器处理。而且,在一些实施方式中,本主题公开的多个软件方面可以在保留本主题公开的不同软件方面的同时被实施为较大程序的子部分。在一些实施方式中,多个软件方面也可以被实施为单独的程序。最后,共同实施本文描述的软件方面的单独的程序的任何组合都在本公开的范围内。在一些实施方式中,软件程序在被安装以在一个或多个电子系统上操作时定义运行和执行软件程序的操作的一个或多个特定机器实施方式。
计算机程序(又称为程序、软件、软件应用、脚本、或者代码)能够以任何形式的编程语言(包括编译语言或者解释语言、声明性语言或者程序性语言)来编写,并且其可以以包括作为独立程序或者作为模块、组件、子例程、对象或者适于在计算环境中使用的其它单元的任何形式来部署。计算机程序可以,但是不需要,对应于文件系统中的文件。程序可以被存储在保持其它程序或者数据(例如,存储在标记语言文档中的一个或多个脚本)的文件的部分中,存储在专用于正被讨论的程序的单个文件中,或者存储在多个协调的文件(例如,存储一个或多个模块、子程序、或者代码的部分的文件)中。
要理解,可以将本文描述的例示性块、模块、元件、组件、方法和算法实施为电子硬件、计算机软件或两者的组合。为了说明硬件和软件的这种可互换性,上面已经就其功能而言一般地描述了各种说明性块、模块、元件、组件、方法和算法。这样的功能是以硬件还是软件来实施取决于施加在整个系统上的特定应用和设计约束。本领域技术人员可以针对每个特定的应用以不同的方式实施所描述的功能。在所有不脱离本主题技术的范围的情况下,各种组件和块可以被不同地布置(例如,以不同的顺序被布置,或者以不同的方式被分区)。
要理解,所公开的过程中的步骤的特定顺序或层次被呈现为一些示例性方案的例示。基于设计偏好和/或其它考虑,要理解,可以重新布置过程中步骤的特定顺序或层次。例如,在一些实施方式中,可以同时执行一些步骤。因此,所附方法权利要求以样本顺序呈现了各种步骤的元素,并不意味着限于所呈现的特定顺序或层次。
提供之前的描述是为了使得本领域的任何技术人员能够实践本文描述的各个方面。之前的描述提供了本主题公开的各种示例,并且本主题公开不限于这些示例。对这些方面的各种修改对于本领域技术人员来说将是显而易见的,并且这里定义的一般原理可以应用于其它方面。因此,权利要求不意图限于本文所示的方面,而是要符合与语言权利要求一致的全部范围,除非具体地如此陈述,其中引用单数形式的元件并不意图意味着“一个且仅一个”,而是意味着“一个或多个”。除非另外具体地陈述,否则术语“一些”是指一个或多个。男性代词(例如他的)包括女性和中性(例如她的和它的),反之亦然。标题和副标题(如果有的话)仅用于方便,并不限制本主题公开。
谓语词语“被配置为”、“可操作以”和“被编程为”并不暗示对象的任何特定的有形或无形的修改,而是意图互换地使用。例如,被配置为监视和控制操作,或者组件的处理器也可以意味着被编程为监视和控制操作的处理器、或者可操作以监视和控制操作的处理器。类似地,被配置为运行代码的处理器可以被解释为被编程为运行代码或可操作来运行代码的处理器。
短语“与……通信”和“耦合”意味着经由本文命名或未命名的一个或多个组件(例如,存储器卡读取器)来直接通信或间接通信。
诸如“方面”的短语并不暗示这样的方面对于本主题公开是必不可少的或者这样的方面应用于本主题公开的所有配置。涉及一个方面的公开可以应用于所有配置或者一个或多个配置。一个方面可以提供一个或多个示例。诸如方面的短语可以是指一个或多个方面,反之亦然。诸如“实施方式”的短语并不暗示这样的实施方式对于本主题公开是必不可少的或者这样的实施方式应用于本主题公开的所有配置。涉及实施方式的公开可以应用于所有方面或者一个或多个方面。实施方式可以提供一个或多个示例。诸如“实施方式”的短语可以是指一个或多个实施方式,反之亦然。诸如“配置”的短语并不暗示这样的配置对于本主题公开是必不可少的或者这样的配置应用于本主题公开的所有配置。涉及一个配置的公开可以应用于所有配置或者一个或多个配置。一个配置可以提供一个或多个示例。诸如“配置”的短语可以是指一个或多个配置,反之亦然。
词语“示例性”被使用意味着“用作示例或例示”。本文描述为“示例性”的任何方面或设计不一定被解释为比其它方面或设计优选或有利。

Claims (21)

1.一种用于读取级别跟踪和优化的方法,包括:
从闪速存储器器件的字线读取多个页;
在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据;
将针对多个页中的每一个页的原始页数据提供给解码器以用于解码;
在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据;
基于在第一缓冲器组中缓冲的原始页数据来标识针对字线的存储器单元的第一多个仓标识符;
基于在第二缓冲器组中缓冲的解码的页数据来标识针对字线的存储器单元的第二多个仓标识符;
基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值;
基于针对多个页中的每一个页的解码结果、和单元电平统计数值来确定多个读取电平中的每一个读取电平的梯度;以及
基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置,
其中基于与各个存储器单元相对应的多个页的原始页数据中的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,并且
其中基于与各个存储器单元相对应的多个页的解码的页数据中的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。
2.如权利要求1所述的方法,其中标识所述第一多个仓标识符包括将反向灰度编码应用于所述原始页数据中的逻辑值,并且
其中标识所述第二多个仓标识符包括将反向灰度编码应用于所述解码的页数据中的逻辑值。
3.如权利要求1所述的方法,其中累加单元电平统计数值包括基于所标识的第一多个仓标识符或者所标识的第二多个仓标识符来增加仓计数。
4.如权利要求3所述的方法,其中累加所述单元电平统计数值还包括:
分别将第一多个仓标识符与第二多个仓标识符比较;以及
基于所述第一多个仓标识符与所述第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数。
5.如权利要求4所述的方法,其中确定所述多个读取电平中的每一个读取电平的梯度包括:
将梯度生成矩阵应用于仓计数以确定第一梯度组;
基于第一错误类型计数和第二错误类型计数之间的差异来确定第二梯度组;以及
针对所述多个读取电平中的每一个读取电平,基于针对多个页中的每一个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度。
6.如权利要求5所述的方法,其中将梯度生成矩阵应用于仓计数包括:
基于针对多个页中的每一个页的解码结果从多个梯度生成矩阵选择梯度生成矩阵;以及
将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组。
7.如权利要求1所述的方法,其中所确定的梯度中的每一个包括用于在闪速存储器器件中调节多个读取电平的各个读取电平的幅度和方向。
8.一种被编码有指令的处理器可读存储介质,当所述指令被处理器运行时,使得所述处理器执行包括以下步骤的用于读取级别跟踪和优化的方法:
从闪速存储器器件的字线读取多个页;
在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据;
将针对多个页中的每一个页的原始页数据提供给解码器以用于解码;
在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据;
基于在第一缓冲器组中缓冲的原始页数据中的、与各个存储器单元相对应的逻辑值来标识针对字线的存储器单元的第一多个仓标识符;
基于在第二缓冲器组中缓冲的解码的页数据中的、与各个存储器单元相对应的逻辑值来标识针对字线的存储器单元的第二多个仓标识符;
基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值;
基于针对多个页中的每一个页的解码结果、和单元电平统计数值来确定多个读取电平中的每一个读取电平的梯度;以及
基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置,
其中标识所述第一多个仓标识符包括将反向灰度编码应用于原始页数据中的逻辑值,并且
其中标识所述第二多个仓标识符包括将反向灰度编码应用于所述解码的页数据中的逻辑值。
9.如权利要求8所述的处理器可读存储介质,其中累加单元电平统计数值包括:
基于所标识的第一多个仓标识符和所标识的第二多个仓标识符来增加仓计数;
分别将第一多个仓标识符与第二多个仓标识符比较;以及
基于第一多个仓标识符与第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数。
10.如权利要求9所述的处理器可读存储介质,其中确定多个读取电平中的每一个读取电平的梯度包括:
将梯度生成矩阵应用于仓计数以确定第一梯度组;
基于第一错误类型计数和第二错误类型计数之间的差异来确定第二梯度组;以及
针对多个读取电平中的每一个读取电平,基于针对多个页中的每一个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度。
11.如权利要求10所述的处理器可读存储介质,其中将所述梯度生成矩阵应用于仓计数包括:
基于针对多个页中的每一个页的解码结果从多个梯度生成矩阵选择梯度生成矩阵;以及
将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组。
12.如权利要求8所述的处理器可读存储介质,其中所确定的梯度中的每一个包括用于在闪速存储器器件中调节多个读取电平的各个读取电平的幅度和方向。
13.一种用于读取级别跟踪和优化的数据存储系统,包括:
闪速存储器器件,包括多个字线;
第一缓冲器组;
第二缓冲器组;以及
控制器,被配置为:
从闪速存储器器件中的多个字线中的字线读取多个页;
在第一缓冲器组中缓冲从字线读取的针对多个页中的每一个页的原始页数据;
将针对多个页中的每一个页的原始页数据提供给解码器以用于解码;
在第二缓冲器组中缓冲来自解码器的针对多个页中的每一个页的解码的页数据;
基于在第一缓冲器组中缓冲的原始页数据来标识针对字线的存储器单元的第一多个仓标识符;
基于在第二缓冲器组中缓冲的解码的页数据来标识针对字线的存储器单元的第二多个仓标识符;
基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值;
基于针对多个页中的每一个页的解码结果、和单元电平统计数值来确定包括用于多个读取电平中的每一个读取电平的幅度和方向的梯度;以及
基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置,
其中基于与各个存储器单元相对应的多个页的原始页数据中的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,并且
其中基于与各个存储器单元相对应的多个页的解码的页数据中的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。
14.如权利要求13所述的数据存储系统,其中所述控制器还被配置为通过将反向灰度编码应用于所述原始页数据中的逻辑值来标识所述第一多个仓标识符,以及
通过将反向灰度编码应用于所述解码的页数据中的逻辑值来标识所述第二多个仓标识符。
15.如权利要求13所述的数据存储系统,其中所述控制器还被配置为通过以下步骤来累加所述单元电平统计数值:
基于所标识的第一多个仓标识符或所标识的第二多个仓标识符来增加仓计数;
分别将第一多个仓标识符与第二多个仓标识符比较;以及
基于第一多个仓标识符与第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数。
16.如权利要求15所述的数据存储系统,其中所述控制器还被配置为通过以下步骤来确定针对多个读取电平中的每一个读取电平的梯度:
将梯度生成矩阵应用于仓计数以确定第一梯度组;
基于第一错误类型计数和第二错误类型计数之间的差异来确定第二梯度组;以及
针对多个读取电平中的每一个读取电平,基于针对多个页中的每一个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度。
17.如权利要求16所述的数据存储系统,其中所述控制器还被配置为通过以下步骤来将所述梯度生成矩阵应用于仓计数:
基于针对多个页中的每一个页的解码结果从多个梯度生成矩阵选择梯度生成矩阵;以及
将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组。
18.一种用于读取级别跟踪和优化的数据存储系统,包括:
闪速存储器器件,包括多个字线;
第一缓冲器组;
第二缓冲器组;
用于基于在第一缓冲器组中缓冲的从字线读取的针对多个页中的每一个页的原始页数据来标识针对多个字线中的字线的存储器单元的第一多个仓标识符的装置;
用于基于从原始页数据解码并且在第二缓冲器组中缓冲的页数据来标识针对字线的存储器单元的第二多个仓标识符的装置;
用于基于第一多个仓标识符和第二多个仓标识符来累加单元电平统计数值的装置;
用于基于针对多个页中的每一个页的解码结果、和单元电平统计数值来确定多个读取电平中的每一个读取电平的梯度的装置;以及
用于基于所确定的梯度来在闪速存储器器件中配置针对多个读取电平的设置的装置,
其中基于与各个存储器单元相对应的多个页的原始页数据中的逻辑值来标识针对字线的存储器单元的第一多个仓标识符,并且
其中基于与各个存储器单元相对应的多个页的解码的页数据中的逻辑值来标识针对字线的存储器单元的第二多个仓标识符。
19.如权利要求18所述的数据存储系统,其中用于标识所述第一多个仓标识符的装置包括用于将反向灰度编码应用于原始页数据中的逻辑值的装置,并且
其中用于标识所述第二多个仓标识符的装置包括用于将反向灰度编码应用于解码的页数据中的逻辑值的装置。
20.如权利要求18所述的数据存储系统,其中用于累加所述单元电平统计数值的装置包括:
用于基于所标识的第一多个仓标识符或所标识的第二多个仓标识符来增加仓计数的装置;
用于分别将第一多个仓标识符与第二多个仓标识符比较的装置;以及
用于基于第一多个仓标识符与第二多个仓标识符的比较来增加第一错误类型计数和第二错误类型计数的装置。
21.如权利要求20所述的数据存储系统,其中用于确定多个读取电平中的每一个读取电平的梯度的装置包括:
用于基于针对多个页中的每一个页的解码结果从多个梯度生成矩阵选择梯度生成矩阵的装置;
用于将所选择的梯度生成矩阵乘以仓计数以确定第一梯度组的装置;
用于基于第一错误类型计数和第二错误类型计数之间的差异来确定第二梯度组的装置;以及
用于针对多个读取电平中的每一个读取电平、基于针对多个页中的每一个页的解码结果从第一梯度组选择梯度或从第二梯度组选择梯度的装置。
CN201810228350.1A 2017-06-27 2018-03-20 读取电平跟踪和优化 Active CN109147846B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762525677P 2017-06-27 2017-06-27
US62/525,677 2017-06-27
US15/665,200 US10236070B2 (en) 2017-06-27 2017-07-31 Read level tracking and optimization
US15/665,200 2017-07-31

Publications (2)

Publication Number Publication Date
CN109147846A CN109147846A (zh) 2019-01-04
CN109147846B true CN109147846B (zh) 2022-11-11

Family

ID=64567705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810228350.1A Active CN109147846B (zh) 2017-06-27 2018-03-20 读取电平跟踪和优化

Country Status (3)

Country Link
US (4) US10236070B2 (zh)
CN (1) CN109147846B (zh)
DE (1) DE102018105948A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10402272B2 (en) 2017-05-25 2019-09-03 Micron Technology, Inc. Memory device with dynamic programming calibration
US10452480B2 (en) 2017-05-25 2019-10-22 Micron Technology, Inc. Memory device with dynamic processing level calibration
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10236070B2 (en) * 2017-06-27 2019-03-19 Western Digital Technologies, Inc. Read level tracking and optimization
KR102421149B1 (ko) * 2018-01-02 2022-07-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102456173B1 (ko) 2017-10-27 2022-10-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US12118241B2 (en) 2017-10-27 2024-10-15 SK Hynix Inc. Memory controller, memory system, and operating method thereof
KR20200104601A (ko) 2019-02-27 2020-09-04 에스케이하이닉스 주식회사 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US10566063B2 (en) 2018-05-16 2020-02-18 Micron Technology, Inc. Memory system with dynamic calibration using a trim management mechanism
US10664194B2 (en) 2018-05-16 2020-05-26 Micron Technology, Inc. Memory system with dynamic calibration using a variable adjustment mechanism
US10990466B2 (en) 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
US10991409B2 (en) * 2019-07-19 2021-04-27 SK Hynix Inc. Encoder for memory system and method thereof
US11036415B2 (en) 2019-10-30 2021-06-15 International Business Machines Corporation Managing memory block calibration based on priority levels
KR102456176B1 (ko) 2020-05-21 2022-10-19 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11573891B2 (en) 2019-11-25 2023-02-07 SK Hynix Inc. Memory controller for scheduling commands based on response for receiving write command, storage device including the memory controller, and operating method of the memory controller and the storage device
US10778248B1 (en) 2020-01-30 2020-09-15 TenaFe, Inc. Low-density parity-check decoding with de-saturation
US11755476B2 (en) 2020-04-13 2023-09-12 SK Hynix Inc. Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device
KR102495910B1 (ko) 2020-04-13 2023-02-06 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
KR102435253B1 (ko) 2020-06-30 2022-08-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
KR102406449B1 (ko) 2020-06-25 2022-06-08 에스케이하이닉스 주식회사 스토리지 장치 및 그 동작 방법
US11295819B2 (en) 2020-06-30 2022-04-05 Western Digital Technologies, Inc. Dual sense bin balancing in NAND flash
US11270772B1 (en) * 2020-08-31 2022-03-08 Micron Technology, Inc. Voltage offset bin selection by die group for memory devices
TWI800764B (zh) * 2020-10-30 2023-05-01 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US11869614B2 (en) 2021-08-25 2024-01-09 Western Digital Technologies, Inc. Cell statistics generator for NVM devices
US11978524B2 (en) 2021-08-25 2024-05-07 Western Digital Technologies, Inc. Cumulative wordline dispersion and deviation for read sense determination
US11656789B2 (en) 2021-08-25 2023-05-23 Western Digital Technologies, Inc. Asymmetric read sense
US11861178B2 (en) * 2021-08-31 2024-01-02 Micron Technology, Inc. Managing a hybrid error recovery process in a memory sub-system
US12020751B2 (en) * 2022-04-06 2024-06-25 Western Digital Technologies, Inc. Read threshold calibration for cross-temperature long, sequential reads

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633740B1 (en) * 2016-02-11 2017-04-25 Seagate Technology Llc Read retry operations where likelihood value assignments change sign at different read voltages for each read retry

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8125809B2 (en) * 2009-09-24 2012-02-28 International Business Machines Corporation Adjustable write bins for multi-level analog memories
US8848438B2 (en) * 2010-10-05 2014-09-30 Stec, Inc. Asymmetric log-likelihood ratio for MLC flash channel
US9269448B2 (en) * 2012-01-27 2016-02-23 Sk Hynix Memory Solutions Inc. Generating soft read values using multiple reads and/or bins
US9136011B2 (en) * 2012-04-26 2015-09-15 Hgst Technologies Santa Ana, Inc. Soft information module
US9135106B2 (en) * 2012-05-22 2015-09-15 Hgst Technologies Santa Ana, Inc. Read level adjustment using soft information
US9070479B2 (en) * 2013-01-21 2015-06-30 Sandisk Technologies Inc. Systems and methods of updating read voltages
US9390002B1 (en) * 2013-01-23 2016-07-12 SK Hynix Inc. Efficient bin labeling schemes for tracking cells in solid state storage devices
US20150085571A1 (en) * 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
US9576671B2 (en) * 2014-11-20 2017-02-21 Western Digital Technologies, Inc. Calibrating optimal read levels
US9720754B2 (en) * 2014-11-20 2017-08-01 Western Digital Technologies, Inc. Read level grouping for increased flash performance
US9905302B2 (en) * 2014-11-20 2018-02-27 Western Digital Technologies, Inc. Read level grouping algorithms for increased flash performance
US10083754B1 (en) * 2017-06-05 2018-09-25 Western Digital Technologies, Inc. Dynamic selection of soft decoding information
US10236070B2 (en) * 2017-06-27 2019-03-19 Western Digital Technologies, Inc. Read level tracking and optimization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9633740B1 (en) * 2016-02-11 2017-04-25 Seagate Technology Llc Read retry operations where likelihood value assignments change sign at different read voltages for each read retry

Also Published As

Publication number Publication date
US11621043B2 (en) 2023-04-04
US11101006B2 (en) 2021-08-24
CN109147846A (zh) 2019-01-04
US20180374550A1 (en) 2018-12-27
US20210319837A1 (en) 2021-10-14
US10236070B2 (en) 2019-03-19
US20190214101A1 (en) 2019-07-11
DE102018105948A1 (de) 2018-12-27
US10748628B2 (en) 2020-08-18
US20200335173A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
CN109147846B (zh) 读取电平跟踪和优化
US10572338B2 (en) Estimating an error rate associated with memory
US11545999B2 (en) Transformation of data to non-binary data for storage in non-volatile memories
US8281061B2 (en) Data conditioning to improve flash memory reliability
US9483212B2 (en) Non-volatile memory devices and control methods therefor
TWI533304B (zh) 用於儲存資料於具有跨頁區段、多頁編碼及每頁編碼之多位準單元快閃記憶體器件中之方法及裝置
US20110238891A1 (en) Method for suppressing errors, and associated memory device and controller thereof
CN113366575A (zh) 使用nand存储器阵列的物理不可复制函数(puf)
CN112562766A (zh) 一种重读管理方法、固态硬盘控制器及固态硬盘
US10658045B1 (en) Enhanced solid-state drive write performance with background erase
CN111383689A (zh) 可调nand写入性能
CN109471808B (zh) 具有数据可靠性机制的存储系统及其操作方法
Guo et al. FlexLevel: A novel NAND flash storage system design for LDPC latency reduction
US10956064B2 (en) Adjusting code rates to mitigate cross-temperature effects in a non-volatile memory (NVM)
US11508446B2 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
CN112562772B (zh) 自适应低密度奇偶校验硬解码器
CN108255634A (zh) 一种数据读取方法及装置
TWI805450B (zh) 借助侵害位元資訊來進行記憶體裝置的存取控制的方法、記憶體裝置以及記憶體裝置的控制器
CN118511223A (zh) 3d nand存储器的最佳读取参考电压搜索
CN112148212A (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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240923

Address after: Delaware, USA

Patentee after: SANDISK TECHNOLOGIES Inc.

Country or region after: U.S.A.

Address before: California, USA

Patentee before: Western Digital Technologies, Inc.

Country or region before: U.S.A.