1.本公开大体上涉及近接干扰修复(proximity disturb remediation),且更明确来说,涉及基于经编程
存储器单元的数目的近接干扰修复。
背景技术:
2.存储器子系统可包含存储数据的一或多个存储器
装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据存储在存储器装置处及从存储器装置检索数据。
技术实现要素:
3.在一个方面,本技术案提供一种方法,其包括:由存储器装置的存储器子系统控制器确定一组存储器单元中处于经编程状态的存储器单元的数目;由
所述存储器子系统控制器比较所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目与近接干扰阈值;及响应于确定所述数目满足所述近接干扰阈值而由所述存储器子系统控制器对存储于所述一组存储器单元中的用户数据执行修复操作。
4.在另一方面,本技术案提供一种包括指令的非暂时性计算机可读存储媒体,所述指令当由处理装置执行时引起所述处理装置:确定存储器装置中的一组存储器单元中处于经编程状态的存储器单元的数目;比较所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目与近接干扰阈值;及响应于确定所述数目满足所述近接干扰阈值而对存储于所述一组存储器单元中的用户数据执行修复操作。
5.在另一方面,本技术案提供一种系统,其包括:存储器装置;及处理装置,其与所述存储器装置可操作地耦合,以:确定所述存储器装置中的一组存储器单元中处于经编程状态的存储器单元的数目,其中所述一组存储器单元共享所述存储器装置中的字线;比较所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目与近接干扰阈值;及响应于确定所述数目满足所述近接干扰阈值而对存储于所述一组存储器单元中的用户数据执行修复操作。
附图说明
6.从下文给出的具体实施方式及从本公开的各个实施例的附图将更完全地理解本公开。然而,附图不应被视为将本公开限于特定实施例,而是仅为了解释及理解。
7.图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
8.图2是根据本公开的一些实施例的用于基于经编程存储器单元的数目确定对一组存储器单元的近接干扰效应的实例方法的流程图。
9.图3展示根据本公开的另一实施例的一组存储器单元随时间的电压及状态分布。
10.图4是根据本公开的另一实施例的用于基于经编程存储器单元的数目确定对一组存储器单元的近接干扰效应的实例方法的流程图。
11.图5是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
12.本公开的方面涉及基于存储器子系统中的经编程存储器单元的数目的近接干扰修复。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的混合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个组件,例如存储数据的存储器装置的存储器子系统。主机系统可提供将存储在存储器子系统处的数据且可请求将从存储器子系统检索的数据。
13.存储器装置可为非易失性存储器装置。非易失性存储器装置是一或多个裸片的封装。非易失性存储器装置的一个实例是与非(nand)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。封装中的裸片可经指派给一或多个通道以用于与存储器子系统控制器通信。每一裸片可由一或多个平面组成。平面可被分组成逻辑单元(lun)。对于一些类型的非易失性存储器装置(例如,nand存储器装置),每一平面由一组物理块组成,所述物理块是用于存储数据的存储器单元的组。单元是存储信息的电子电路。
14.取决于单元类型,单元可存储一或多个二进制信息位,且具有与所存储的位的数目相关的各种逻辑状态。所述逻辑状态可由例如“0”及“1”或此类值的组合的二进制值表示。存在各种类型的单元,例如单电平单元(slc)、多电平单元(mlc)、三电平单元(tlc)及四电平单元(qlc)。举例来说,slc可存储一个信息位且具有两种逻辑状态。
15.随着半导体制造技术将存储数据的存储器单元越来越近地堆积在一起以实现较小及/或较高容量的存储器产品,存储器单元彼此之间的隔离减小。减小的隔离增加某些效应。一种此效应是干扰耦合,还被称为近接干扰,其中存取一个存储器单元(即,侵略存储器单元)致使与所述存取相关联的假象而干扰附近存储器单元(即,受害存储器单元)。对于使用电或磁过程来存取存储器单元的状态(例如,读取或写入存储器单元)的媒体,例如磁盘驱动器或快闪媒体,磁及/或电效应传播到周围/邻近存储器单元。对于使用热过程存取存储器单元的状态的媒体,例如相变媒体,热效应传播到邻近存储器单元。随着存储器装置中存储器单元的密度增加,近接干扰效应可致使对一个侵略存储器单元的存取由于存储器单元之间的距离(及因此隔离)减小而干扰存储于附近受害存储器单元中的数据。举例来说,来自将读取电压重复地施加到近接于受害存储器单元的一或多个存储器单元的磁、电、热或类似干扰效应可导致存储于受害存储器单元中的数据改变或以其它方式丢失。未能修复近接干扰的效应可能导致数据丢失超过错误校正的限制。举例来说,当码字存储用户数据及奇偶校验位/数据时,奇偶校验数据可经配置以解释用户数据中的高达x位错误。在此实例中,导致用户数据中的多于x位错误(例如,x+1位错误)的近接干扰效应将导致用户数据的丢失。
16.由于近接干扰效应可能导致用户数据的丢失,所以存储器控制器可跟踪对受害存储器单元的潜在/经估计或实际近接干扰且修复这些效应。举例来说,存储器控制器可读取存储于一组存储器单元中的用户数据,且使用与用户数据一起存储的一组奇偶校验位确定所述一组存储器单元的位错误率。当位错误率超过规定的阈值时,用户数据的经错误校正版本被写回到存储器装置中的相同位置(即,一组相同存储器单元)抑或存储器装置中的新位置。尽管此技术通过在干扰导致用户数据中的错误超过奇偶校验数据的能力之前执行错
误校正来确保受害存储器单元所感受到的近接干扰效应不会导致用户数据丢失,但此技术需要相当大量的开销。特定来说,用于管理近接干扰效应的上述技术需要从存储器装置读取用户及奇偶校验数据且将其传递到存储器控制器,且存储器控制器必须执行错误校正例程以确定对一组存储器单元的潜在近接干扰效应,而不管最终是否执行修复(即,不管用户数据是否被重写到存储器装置)。将数据从存储器装置移动到存储器控制器且执行错误校正例程需要相当多的(1)计算资源、(2)电力/能量,及(3)完成时间。
17.本公开的方面通过仅基于一组存储器单元中的经编程位的经确定数目确定对所述一组存储器单元的近接干扰效应来解决上述及其它缺点。特定来说,单个存储器单元可表示两种或更多种状态。举例来说,slc表示两种状态(例如,逻辑值0及1),而tlc表示八种状态(例如,逻辑值000、001、010、011、100、101、110及111)。无论存储器装置中存储器单元的配置为何,存储器单元的状态中的一者对应于经擦除状态,而剩余状态被视为经编程状态。在上文给出的实例中,对应于零的逻辑值(例如,对于slc存储器单元是0,且对于tlc存储器单元是000)表示经擦除状态,而剩余逻辑值表示相应存储器单元类型的经编程状态。通过使用加扰器,存储器控制器确保每一状态均等地或几乎均等地在存储器装置中表示。因此,沿着使用tlc的存储器装置的字线,八种状态中的每一者中将存在相等(或近似相等)数目个存储器单元(例如,1/8的存储器单元将具有逻辑值000,1/8的存储器单元将具有逻辑值001,1/8的存储器单元将具有逻辑值010等)。
18.存储器单元的这些状态中的每一者对应于电压电平或电压范围,使得当读取电压(v
t
)施加到存储器单元时,读取电压大于对应于经擦除状态的电压且小于对应于经编程状态的电压。在此配置中,近接干扰可能影响处于所有状态的存储器单元的电压电平,但将对电压电平较低的存储器单元影响最大。特定来说,近接干扰将比影响处于经编程状态的存储器单元更多地影响处于经擦除状态的存储器单元。这些干扰可致使希望处于经擦除状态的一些存储器单元的电压电平增加,使得所述存储器单元现在处于经编程状态(即,读取电压现在高于应处于经擦除状态的这些存储器单元的电压)。在有更多近接干扰效应的情况下,希望处于经擦除状态的更多存储器单元的电压电平可增加到现在处于经编程状态。然而,存储器单元从经擦除状态到经编程状态的此非预期移动将影响存储器单元到能够由每一存储器单元表示的状态集合中的均匀分布。举例来说,在包含具有八种可能状态的tlc存储器单元的存储器装置中,近接干扰可能导致少于1/8的存储器单元处于经擦除状态,这是因为这些经擦除存储器单元中的一些的电压电平可增加到经编程状态电平。因此,当处于经擦除及经编程状态的存储器单元的数目不再表示均匀分布时,存储器控制器可经触发以采取修复近接干扰效应的动作。举例来说,存储器控制器可将读取电压施加到页面块的字线。基于此读取电压,存储器控制器确定处于经擦除状态的存储器单元的数目及/或处于经编程状态的存储器单元的数目。当处于经编程状态的存储器单元的数目大于规定的比率/阈值时,存储器控制器可经触发以采取修复此组存储器单元的近接干扰效应的动作(例如,从页面块读取用户数据及奇偶校验数据、使用奇偶校验数据校正用户数据,及将经校正用户数据写回到存储器装置)。以此方式,存储器控制器不会被迫完全读取用户及奇偶校验数据及在每次检查存储器装置中的近接干扰错误期间执行错误校正,这是因为代替性地,相较于从多电平存储器单元完全读取数据,仅将单个读取电压施加到字线,此可需要多个读取电压以在多个经编程状态之间进行区分。仅当检测到近接干扰(例如,处于经编程状态的
存储器单元的数目大于规定的比率/阈值)时,才执行完全读取、将数据移动到存储器控制器及错误校正。因为不需要针对每一近接干扰检查完全读取数据、将数据移动到存储器控制器及/或执行错误校正例程,可显著缩减(1)计算资源、(2)电力/能量及(3)从近接干扰到确定效应的时间。将在下文描述这些技术的进一步细节。
19.图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。
20.存储器子系统110可为存储装置、存储器模块或存储装置与存储器模块的混合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)及各种类型的非易失性双列直插式存储器模块(nvdimm)。
21.计算系统100可为例如桌上型计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具备物联网(iot)能力的装置、嵌入式计算机(例如,包含于交通工具、工业装备或联网商用装置中的嵌入式计算机)或包含存储器及处理装置的此计算装置的计算装置。
22.计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与
……
耦合”一般指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,无中介组件),无论有线或无线,包含例如电、光学、磁性等的连接。
23.主机系统120可包含处理器芯片组及由处理器芯片组执行的软件栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,nvdimm控制器)及存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120使用存储器子系统110例如将数据写入到存储器子系统110及从存储器子系统110读取数据。
24.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行附接scsi(sas)、小型计算机系统接口(scsi)、双倍数据速率(ddr)存储器总线、双列直插式存储器模块(dimm)接口(例如,支持双倍数据速率(ddr)的dimm套接字接口)、开放nand快闪存储器接口(onfi)、双倍数据速率(ddr)、低功耗双倍数据速率(lpddr)或任何其它接口。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。当存储器子系统110通过pcie接口与主机系统120耦合时,主机系统120可进一步利用nvm高速(nvme)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1说明存储器子系统110作为实例。一般来说,主机系统120可经由相同通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。
25.存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(ram),例如动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)。
26.非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(nand)型快闪存储器及原位写入存储器,例如三维交叉点(“3d交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可基于体电阻变化连同可堆叠交叉网格数据存取阵列执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行原位写入操作,其中可在先前未擦除非易失性存储器单元的情况下对所述非易失性存储器单元进行编程。nand型快闪存储器包含例如二维nand(2d nand)及三维nand(3d nand)。
27.尽管描述例如nand型存储器(例如,2d nand、3d nand)及非易失性存储器单元的3d交叉点阵列的非易失性存储器装置,但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选择存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram)、磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻随机存取存储器(rram)、基于氧化物的rram(oxram)、或非(nor)快闪存储器及电可擦除可编程只读存储器(eeprom)。
28.存储器子系统控制器115(或简称控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据及其它此类操作的操作(例如,响应于由控制器115在命令总线上调度的命令)。存储器子系统控制器115可包含例如一或多个集成电路及/或离散组件、缓冲存储器或其组合的硬件。硬件可包含具有用于执行本文中所描述的操作的专用(即,硬写码)逻辑的数字电路系统。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或另一合适处理器。
29.存储器子系统控制器115可包含经配置以执行存储于本地存储器119中的指令的处理装置117(处理器)。在所说明实例中,存储器子系统控制器115的本地存储器119包含经配置以存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流程及例程(包含处置存储器子系统110与主机系统120之间的通信)的指令的嵌入式存储器。
30.在一些实施例中,本地存储器119可包含存储存储器指针、经提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然已将图1中的实例存储器子系统110说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依赖外部控制(例如,由外部主机或由与存储器子系统110分离的处理器或控制器提供)。
31.一般来说,存储器子系统控制器115可从主机系统120接收命令或操作且可将命令或操作转换成指令或适当命令,以实现对存储器装置130及/或存储器装置140的期望存取。存储器子系统控制器115可负责与存储器装置130相关联的其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正码(ecc)操作、加密操作、高速缓存操作及逻辑地址(例如,逻辑块地址(lba)、命名空间)与物理地址(例如,物理块地址)之间的地址转译。存储器子系统控制器115可进一步包含经由物理主机接口与主机系统120通信的主机接口电路系统。主机接口电路系统可将从主机系统接收的命令转换成存取存储器装置130及/或存储器装置140的命令指令,而且将与存储器装置130及/或存储器装置140相关联的响应转换成用于主机系统120的信息。
32.存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,dram)及地址电路系统(例如,行解码器及列解码器),所述地址电路系统可从存储器子系统控制器115接收地址且解码地址以存取存储器装置130。
33.在一些实施例中,存储器装置130包含本地媒体控制器135,本地媒体控制器135结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理存储器装置,其是与用于相同存储器装置封装内的媒体管理的本地控制器(例如,本地控制器135)组合的原始存储器装置。受管理存储器装置的实例是受管理nand(mnand)装置。
34.存储器子系统110包含近接干扰组件113,近接干扰组件113可基于页面块中的经编程存储器单元的数目确定是否应执行所述页面块的修复。在一些实施例中,控制器115包含近接干扰组件113的至少一部分。举例来说,控制器115可包含经配置以执行存储于本地存储器119中的用于执行本文中所描述的操作的指令的处理器117(处理装置)。在一些实施例中,近接干扰组件113是主机系统120、应用程序或操作系统的部分。
35.近接干扰组件113可基于页面块中的经编程存储器单元的数目确定是否应执行所述页面块的修复。下文描述关于近接干扰组件113的操作的进一步细节。
36.图2是根据本公开的一些实施例的用于基于经编程存储器单元的数目确定对一组存储器单元的近接干扰效应的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法200是由图1的近接干扰组件113执行。尽管以特定顺序或次序进行展示,但除非另外指定,否则可修改过程的次序。因此,所说明实施例仅应被理解为实例,且所说明过程可以不同次序执行,且一些过程可并行执行。另外,可在各个实施例中省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流程是可能的。
37.在操作202,处理装置监测存储器装置(例如,存储器装置140或存储器装置130)的页面块以检测触发事件。举例来说,触发事件可为时间推移(例如,一微秒、一百微秒等)或对页面块的存取的预定次数(例如,对页面块的一百次读取及/或写入)。尽管关于页面块进行描述,但在一些实施例中,触发事件及此方法200的其它部分可关于其它数目及/或组的存储器单元执行。如本文中所使用,每一页面包含一组存储器单元,且页面块中的所有存储器单元共享单个字线。在一个实施例中,存储器子系统控制器115可使用共享字线来将读取电压施加到页面块中的每一存储器单元。以此方式,存储器子系统控制器115可确定页面块中具有低于读取电压的电压的存储器单元/位的数目及有多少存储器单元具有高于读取电压的电压。在一些实施例中,存储器子系统控制器115可在执行一组存储器单元的完整读取时使用额外读取电压在经编程状态之间进行区分。
38.在操作204,在处理装置检测到触发事件未被检测到时,方法200返回到操作202以继续监测页面块以检测触发事件。相反地,在处理装置检测到触发事件被检测到时,方法200移动到操作206。
39.在操作206,处理装置将读取电压施加到页面块以确定处于经编程状态的存储器
单元/位的数目。举例来说,处理装置可将读取电压(v
t
)施加到被页面块中的所有存储器单元共享的字线。在一个实施例中,页面块中的存储器单元中的每一者可经配置以表示多种状态中的一者。举例来说,slc可表示两种状态(例如,逻辑值0及1),而tlc可表示八种状态(例如,逻辑值000、001、010、011、100、101、110及111)。存储器单元的这些状态中的每一者对应于电压电平或电压范围,使得当读取电压(v
t
)施加到存储器单元时,读取电压大于对应于经擦除状态的电压且小于对应于经编程状态的电压。
40.尽管关于slc及tlc存储器单元进行描述,但方法200可关于任何类型的存储器单元执行,包含mlc及qlc。因此,slc及tlc存储器单元的使用是出于说明性目的,且可使用其它类型的存储器单元。
41.此外,尽管关于确定处于经编程状态的存储器单元/位的数目进行描述,但方法200可类似地通过确定处于经擦除状态的存储器单元/位的数目来执行。
42.在操作208,处理装置确定经编程存储器单元的数目是否满足近接干扰阈值。特定来说,如上文提及,存储器控制器可利用各种技术,包含采用加扰器的技术,以确保页面块中的存储器单元具有每一可能状态的相等(或近似相等)分布。举例来说,对于基于tlc的存储器装置,存储器控制器可确保1/8的存储器单元将经编程以具有逻辑值000,1/8的存储器单元将经编程以具有逻辑值001,1/8的存储器单元将经编程以具有逻辑值010等。因此,由于tlc的状态中的仅一者对应于经擦除状态,而剩余七种状态对应于经编程状态,因此页面块中的1/8的存储器单元应处于经擦除状态,且页面块中的7/8的存储器单元应处于经编程状态。然而,近接干扰效应可更改存储器单元的状态及对应比率,此在处于经擦除状态的存储器单元当中尤为显著。即,由于经擦除状态处于比经编程状态低的电压,因此处于经擦除状态的存储器单元将更易受致使其电压增加超过读取电压(即,致使应处于经擦除状态的这些存储器单元被读取为经编程)的近接干扰效应影响。在一个实施例中,近接干扰阈值可被设置成表示页面块中应处于经编程状态的存储器单元的数目,以维持页面块中的状态的相等比率。举例来说,对于字线上的一组48,000个tlc存储器单元(即,可各自表示八种状态的一组存储器单元),6,000个存储器单元应处于经擦除状态而剩余42,000个存储器单元应处于七种经编程状态中的一者。在此实例中,近接干扰阈值可被设置成42,000个存储器单元/位,使得当甚至一个经擦除存储器单元的电压无意间移动到经编程状态时,处理装置仍确定已满足近接干扰阈值(即,经编程单元的数目大于近接干扰阈值)。在另一实例中,近接干扰阈值可解释某种程度的干扰。例如,在上文实例中,近接干扰阈值可被设置成42,000+y,其中y大于或等于1。在此情况中,值y表示在近接干扰阈值被视为被满足之前准许的干扰填充量(即,在近接干扰阈值被视为被满足之前,特定数目个存储器单元(即,y个存储器单元)可从经擦除状态无意间移动到经编程状态)。
43.响应于确定经编程存储器单元的数目不满足近接干扰阈值,方法200可返回到操作202。相反地,响应于确定经编程存储器单元的数目满足近接干扰阈值,方法200移动到操作210。
44.在操作210,处理装置对页面块执行修复。举例来说,处理装置可从页面块读取用户数据及奇偶校验数据,且基于奇偶校验数据对用户数据执行一组错误校正操作以校正任何位错误。位错误可能已因近接干扰效应或其它原因而被引入到用户数据。在一些实施例中,处理装置可使用多个读取电压,包含在操作206使用的读取电压(v
t
),以从页面块读取
用户数据及奇偶校验数据。在操作210,处理装置将经校正用户数据(即,来自错误校正操作的输出)及对应奇偶校验数据写入到存储器装置中的相同页面块或新的页面块。因此,引入到用户数据的任何位错误现在已被校正。
45.图3展示页面块中的一组存储器单元随时间的状态及电压分布。在图3中,页面块中被检测为处于特定电压的存储器单元的数目在垂直轴(即,y轴)上表示,所述特定电压在三个离散时间内在水平轴(即,x轴)上表示。特定来说,在时间t0,由图3的此分布表示的tlc存储器单元跨存储器单元的八种可能状态(例如,一种经擦除状态及七种经编程状态)均匀散布。因此,施加到这些存储器单元的读取电压(v
t
)将指示7/8的存储器单元处于经编程状态。基于此确定,处理装置将确定近接干扰阈值尚未被满足且无需页面块的修复。即,由于来自页面块的经擦除存储器单元都没有使其电压增加超过读取电压,因此无需页面块的修复。
46.在时间t1,近接干扰效应已更改页面块中的一些存储器单元的电压,包含一些经擦除存储器单元。如图3中展示,这些经擦除存储器单元中的一些的电压已移动超过读取电压。因此,应被读取为经擦除以正确表示用户或奇偶校验数据的这些存储器单元现在将被读取为经编程。在其中近接干扰阈值强制执行页面块中的存储器单元当中的严格的状态比率的一些实施例中,处理装置可确定已满足近接干扰阈值(例如,页面块中的经编程存储器单元的数目大于近接干扰阈值),使得需要页面块的修复。然而,在其中近接干扰阈值强制执行页面块中的存储器单元当中的不太严格的状态比率(例如,使用填充值来容纳经擦除存储器单元到经编程状态的一些变化)的其它实施例中,处理装置可确定近接干扰阈值尚未被满足(例如,页面块中的经编程存储器单元的数目小于或等于近接干扰阈值)使得无需页面块的修复。
47.在时间t2,近接干扰效应已更改甚至更多存储器单元的电压,包含一些额外经擦除存储器单元。如图3中展示,甚至更多经擦除存储器单元的电压已移动超过读取电压(相较于时间t1来说)。在此情况中,处理装置可确定经编程存储器单元的数目已满足近接干扰阈值(严格及不太严格/经填充阈值两者),使得需要页面块的修复。
48.图4是根据本公开的另一实施例的用于基于经编程存储器单元的数目确定对一组存储器单元的近接干扰效应的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法400是由图1的近接干扰组件113执行。尽管以特定顺序或次序进行展示,但除非另外指定,否则可修改过程的次序。因此,所说明实施例仅应被理解为实例,且所说明过程可以不同次序执行,且一些过程可并行执行。另外,可在各个实施例中省略一或多个过程。因此,并非在每个实施例中都需要所有过程。其它过程流程是可能的。
49.在操作402,处理装置(例如,存储器子系统控制器115)确定一组存储器单元中处于经编程状态的存储器单元的数目。特定来说,一组存储器单元中的存储器单元中的每一者可表示各自对应于电压或电压范围的一或多个状态。举例来说,一组存储器单元可为可表示单个经擦除状态及单个经编程状态的slc。在此配置中,经擦除状态对应于经擦除电压或经擦除电压范围,使得存储器单元在其具有等于经擦除电压或在经擦除电压范围内的电压时处于经擦除状态,且经编程状态对应于经编程电压或经编程电压范围,使得存储器单
元在其具有等于经编程电压或在经编程电压范围内的电压时处于经编程状态。类似地,一组存储器单元可为可表示单个经擦除状态及两个或更多个经编程状态的mlc。在此配置中,经擦除状态对应于经擦除电压或经擦除电压范围,使得存储器单元在其具有等于经擦除电压或在经擦除电压范围内的电压时处于经擦除状态,且两个或更多个经编程状态对应于个别经编程电压或经编程电压范围,使得存储器单元在其具有等于特定经编程电压或在特定经编程电压范围内的电压时处于经编程状态中的一者。
50.在操作404,处理装置比较一组存储器单元中处于经编程状态的存储器单元的数目与近接干扰阈值。如上文指出,存储器子系统控制器115力图确保存储器装置的状态由存储器装置内的存储器单元均匀地/均等地表示。近接干扰阈值可经设置以确定此状态分布是否在一组存储器单元内维持。即,对于沿着字线的一组145,792个tlc存储器单元,7/8的存储器单元(即,127,568个存储器单元)应处于经编程状态,这是因为tlc存储器单元可表示的八种状态中的七个是经编程状态。因此,近接干扰阈值可被设置成127,568。即,处理装置力图确定经编程存储器单元的数目是否大于一组145,792个tlc存储器单元当中应被编程的存储器单元的数目。当存在多于127,568个经编程存储器单元时,此可指示一些存储器单元由于近接干扰而具有增加的电压及改变的状态。
51.在操作406,处理装置响应于确定一组存储器单元中的经编程存储器单元的数目满足近接干扰阈值而对存储于所述一组存储器单元中的用户数据执行修复操作。举例来说,处理装置可从一组存储器单元读取用户数据及奇偶校验数据,且基于奇偶校验数据对用户数据执行一组错误校正操作以校正任何位错误。位错误可能已因近接干扰效应或其它原因而被引入到用户数据。处理装置将经校正用户数据(即,来自错误校正操作的输出)及对应奇偶校验数据写入到存储器装置中的一组相同存储器单元抑或一组新的存储器单元。因此,引入到用户数据的任何位错误现在已被校正。
52.图5说明用于引起机器执行本文中所论述的方法论中的任一或多者的一组指令可在其内执行的计算机系统500的实例机器。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的近接干扰组件113的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器,或在云计算基础设施或环境中作为服务器或客户端机器。
53.机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器,或能够(依序或以其它方式)执行指定由所述机器采取的动作的一组指令的任何机器。此外,虽然说明单个机器,但术语“机器”还应被视为包含个别或联合执行一组(或多组)指令以执行本文中论述的方法论中的任一或多者的机器的任何集合。
54.实例计算机系统500包含处理装置502、主存储器504(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器506(例如快闪存储器、静态随机存取存储器(sram)等)及数据存储系统518,它们经由总线530彼此通信。
55.处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器或实施其它指令集的一处理器或实施指令集组合的若干处理器。处理装置502也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器或类似者。处理装置502经配置以执行用于执行本文中所论述的操作及步骤的指令526。计算机系统500可进一步包含网络接口装置508以通过网络520通信。
56.数据存储系统518可包含其上存储一或多组指令526或体现本文中描述的方法论或功能中的任一或多者的软件的机器可读存储媒体524(也称为计算机可读媒体)。指令526在其由计算机系统500执行期间也可完全或至少部分驻存于主存储器504内及/或处理装置502内,主存储器504及处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器504可对应于图1的存储器子系统110。
57.在一个实施例中,指令526包含用于实施对应于近接干扰组件(例如,图1的近接干扰组件113)的功能性的指令。虽然在实例实施例中将机器可读存储媒体524展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码供机器执行的一组指令且引起机器执行本公开的方法论中的任一或多者的任何媒体。因此,术语“机器可读存储媒体”应被视为包含但不限于固态存储器、光学媒体及磁性媒体。
58.已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述具体实施方式的一些部分。这些算法描述及表示是由数据处理领域的技术人员用于向所属领域的其它技术人员最有效地传达其工作主旨的方式。算法在这里且通常被认为是导致期望结果的自相一致的操作序列。操作是需要对物理量进行物理操纵的操作。通常但并不一定,这些量采取能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。已证明,主要出于通用的原因,将这些信号称为位、值、元件、符号、字符、项、数字或类似者有时是方便的。
59.然而,应记住,所有这些及类似术语将与适当物理量相关联,且仅为应用于这些量的方便标签。本公开可涉及将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵及变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
60.本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的而专门构造,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。举例来说,计算机系统或例如控制器115的其它数据处理系统可响应于其处理器执行存储器或其它非暂时性机器可读存储媒体中所含的计算机程序(例如,指令序列)而实行计算机实施的方法200及400。此计算机程序可存储于计算机可读存储媒体中,例如但不限于任何类型的磁盘(包含软盘、光盘、cd-rom及磁光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁或光卡或适于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
61.本文中呈现的算法及显示器不与任何特定计算机或其它设备内在相关。各种通用系统可根据本文中的教示与程序一起使用,或可证明构造更专门设备来执行方法是方便的。用于各种各样的这些系统的结构将如下文描述中陈述那样呈现。另外,本公开未参考任
何特定编程语言进行描述。应了解,各种各样的编程语言可用于实施如本文中描述的本公开的教示。
62.本公开可提供为计算机程序产品或软件,其可包含具有存储于其上的指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以可由机器(例如,计算机)读取的形式存储信息的任何机构。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
63.在前述说明书中,已参考本公开的特定实例实施例描述其实施例。将显而易见的是,可在不背离如所附权利要求书中陈述的本公开的实施例的更广精神及范围的情况下对本公开进行各种修改。因此,说明书及附图应被视为是说明性意义而非限制性意义。
技术特征:
1.一种方法,其包括:由存储器装置的存储器子系统控制器确定一组存储器单元中处于经编程状态的存储器单元的数目;由所述存储器子系统控制器比较所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目与近接干扰阈值;及响应于确定所述数目满足所述近接干扰阈值而由所述存储器子系统控制器对存储于所述一组存储器单元中的用户数据执行修复操作。2.根据权利要求1所述的方法,其中所述一组存储器单元能够表示多种状态中的一者,包含经擦除状态及所述经编程状态,其中所述近接干扰阈值经设置以确定所述一组存储器单元是否在所述多种状态间均匀地分布。3.根据权利要求2所述的方法,其中所述一组存储器单元是具有单个经擦除状态及多个经编程状态的多电平单元。4.根据权利要求1所述的方法,其中所述一组存储器单元共享所述存储器装置中的字线。5.根据权利要求4所述的方法,其中所述确定所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目是通过将读取电压施加于所述一组存储器单元的所述字线上以确定所述一组存储器单元中具有高于所述读取电压的电压电平的存储器单元的数目及所述一组存储器单元中具有低于所述读取电压的电压电平的存储器单元的数目来执行。6.根据权利要求5所述的方法,其中所述一组存储器单元中具有高于所述读取电压的电压电平的存储器单元的所述数目是所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目。7.根据权利要求1所述的方法,其中所述修复操作包含:从所述一组存储器单元读取所述用户数据及奇偶校验数据;基于所述奇偶校验数据对所述用户数据执行错误校正操作以产生经校正用户数据;及将所述经校正用户数据写入到所述存储器装置。8.一种包括指令的非暂时性计算机可读存储媒体,所述指令当由处理装置执行时引起所述处理装置:确定存储器装置中的一组存储器单元中处于经编程状态的存储器单元的数目;比较所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目与近接干扰阈值;及响应于确定所述数目满足所述近接干扰阈值而对存储于所述一组存储器单元中的用户数据执行修复操作。9.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述一组存储器单元能够表示多种状态中的一者,包含经擦除状态及所述经编程状态,其中所述近接干扰阈值经设置以确定所述一组存储器单元是否在所述多种状态间均匀地分布。10.根据权利要求9所述的非暂时性计算机可读存储媒体,其中所述一组存储器单元是具有单个经擦除状态及多个经编程状态的多电平单元。
11.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述一组存储器单元共享所述存储器装置中的字线。12.根据权利要求11所述的非暂时性计算机可读存储媒体,其中所述确定所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目是通过将读取电压施加于所述一组存储器单元的所述字线上以确定所述一组存储器单元中具有高于所述读取电压的电压电平的存储器单元的数目及所述一组存储器单元中具有低于所述读取电压的电压电平的存储器单元的数目来执行。13.根据权利要求12所述的非暂时性计算机可读存储媒体,其中所述一组存储器单元中具有高于所述读取电压的电压电平的存储器单元的所述数目是所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目。14.根据权利要求8所述的非暂时性计算机可读存储媒体,其中所述处理装置进一步:从所述一组存储器单元读取所述用户数据及奇偶校验数据;基于所述奇偶校验数据对所述用户数据执行错误校正操作以产生经校正用户数据;及将所述经校正用户数据写入到所述存储器装置。15.一种系统,其包括:存储器装置;及处理装置,其与所述存储器装置可操作地耦合,以:确定所述存储器装置中的一组存储器单元中处于经编程状态的存储器单元的数目,其中所述一组存储器单元共享所述存储器装置中的字线;比较所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目与近接干扰阈值;及响应于确定所述数目满足所述近接干扰阈值而对存储于所述一组存储器单元中的用户数据执行修复操作。16.根据权利要求15所述的系统,其中所述一组存储器单元能够表示多种状态中的一者,包含经擦除状态及所述经编程状态,其中所述近接干扰阈值经设置以确定所述一组存储器单元是否在所述多种状态间均匀地分布。17.根据权利要求16所述的系统,其中所述一组存储器单元是具有单个经擦除状态及多个经编程状态的多电平单元。18.根据权利要求15所述的系统,其中所述确定所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目是通过将读取电压施加于所述一组存储器单元的所述字线上以确定所述一组存储器单元中具有高于所述读取电压的电压电平的存储器单元的数目及所述一组存储器单元中具有低于所述读取电压的电压电平的存储器单元的数目来执行。19.根据权利要求18所述的系统,其中所述一组存储器单元中具有高于所述读取电压的电压电平的存储器单元的所述数目是所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目。20.根据权利要求15所述的系统,其中所述处理装置进一步:从所述一组存储器单元读取所述用户数据及奇偶校验数据;
基于所述奇偶校验数据对所述用户数据执行错误校正操作以产生经校正用户数据;及将所述经校正用户数据写入到所述存储器装置。
技术总结
本申请案涉及基于经编程存储器单元的数目的近接干扰修复。描述一种方法,其包含由存储器装置的存储器子系统控制器确定一组存储器单元中处于经编程状态的存储器单元的数目。所述存储器子系统控制器进一步比较所述一组存储器单元中处于所述经编程状态的存储器单元的所述数目与近接干扰阈值,且响应于确定所述数目满足所述近接干扰阈值而对存储于所述一组存储器单元中的用户数据执行修复操作。一组存储器单元中的用户数据执行修复操作。一组存储器单元中的用户数据执行修复操作。
技术研发人员:
杨春森 D
受保护的技术使用者:
美光科技公司
技术研发日:
2022.04.27
技术公布日:
2022/10/28