一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

使用随机刷新周期管理存储器子系统中的存储器单元的写入干扰的制作方法

2023-02-19 10:05:39 来源:中国专利 TAG:


1.本公开的实施例总体上涉及存储器子系统,且更具体地,涉及使用随机刷新周期管理存储器子系统中的存储器单元的写入干扰。


背景技术:

2.存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。通常,主机系统可利用存储器子系统来将数据存储在存储器装置处及从存储器装置检索数据。


技术实现要素:

3.本公开的方面提供一种系统,其包括:存储器装置;及处理装置,其与所述存储器装置操作地耦合,以执行包括以下的操作:检测对所述存储器装置的第一存储器单元执行的写入操作,其中所述第一存储器单元包括一或多个存储器胞元;响应于检测到所述写入操作,使与所述第一存储器单元相关联的计数器的值递增;确定所述计数器的所述值满足阈值准则,其中所述阈值准则是基于定义范围内的随机或伪随机数;及响应于确定所述计数器的所述值满足所述阈值准则,对第二存储器单元执行刷新操作。
4.本公开的另一方面提供一种方法,其包括:检测对所述存储器装置的第一存储器单元执行的写入操作,其中所述第一存储器单元包括一或多个存储器胞元;响应于检测到所述写入操作,使与所述第一存储器单元相关联的计数器的值递增;确定所述计数器的所述值满足阈值准则,其中所述阈值准则是基于定义范围内的随机或伪随机数;及响应于确定所述计数器的所述值满足所述阈值准则,对第二存储器单元执行刷新操作。
5.本公开的另一方面提供一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时致使所述处理装置执行包含以下的操作:定义具有上限及下限的数值范围;基于所述定义范围内的随机或伪随机数而确定阈值准则;检测对存储器装置的第一存储器单元执行的写入操作,其中所述第一存储器单元包括一或多个存储器胞元;响应于检测到所述写入操作,使与所述第一存储器单元相关联的计数器的值递增;确定所述计数器的所述值满足所述阈值准则;及响应于确定所述计数器的所述值满足所述阈值准则,对第二存储器单元执行刷新操作。
附图说明
6.从下文给出的详细描述且从本公开的各种实施例的附图将更全面理解本公开。然而,不应将图式用于将本公开限制于特定实施例,而仅为了解释及理解。
7.图1根据本公开的一些实施例说明包含存储器子系统的实例计算系统。
8.图2a根据本公开的一些实施例说明对存储器装置的相邻存储器单元造成写入干扰效应的实例存储器单元。
9.图2b根据本公开的一些实施例说明定义的刷新间隔范围的实例图。
10.图3是根据本公开的一些实施例的管理存储器装置的存储器单元的写入干扰的实例方法的流程图。
11.图4是根据本公开的一些实施例的管理存储器装置的存储器单元的写入干扰的实例方法的流程图。
12.图5为其中本公开的实施例可操作的实例计算机系统的框图。
具体实施方式
13.本公开的各方面针对使用随机刷新周期管理存储器子系统的存储器单元的写入干扰。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的组合。下文结合图1描述存储装置及存储器模块的实例。通常,主机系统可利用包含一或多个组件(例如,存储数据的存储器装置)的存储器子系统。主机系统可提供待存储在存储器子系统处的数据,并且可请求待从存储器子系统检索的数据。
14.存储器子系统可包含高密度非易失性存储器装置,其中当没有向存储器装置供电时期望保留数据。非易失性存储器装置的一个实例为“与非”(nand)存储器装置。非易失性存储器装置的另一实例是三维交叉点(“3d交叉点”)存储器装置,其是可结合可堆叠的交叉网格化数据存取阵列基于体电阻的改变而执行位存储的非易失性存储器交叉点阵列。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,nand装置及3d交叉点装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器胞元(“胞元”)组成。胞元为存储信息的电子电路。取决于胞元类型,胞元可存储一或多个位的二进制信息,且具有与存储的位数目相关的各种逻辑状态。逻辑状态可由二进制值(例如“0”及“1”,或此类值的组合)表示。
15.存储器装置可由布置在二维或三维网格中的位组成。存储器胞元以列(下文中也被称为位线)及行(下文中也被称为字线)的阵列被蚀刻到硅晶片上。字线可指代存储器装置的一或多行存储器胞元,所述存储器胞元与一或多个位线一起使用以产生每一存储器胞元的地址。位线与字线的交点构成存储器胞元的地址。在下文中,块指代用于存储数据的存储器装置的单元,且可包含一组存储器胞元、字线组、字线或单个存储器胞元。一或多个块可组合在一起以形成存储器装置的平面,以便允许在每一平面上发生并发操作。存储器装置可包含对两个或多于两个存储器平面执行并发存储器页存取的电路系统。例如,存储器装置可包含用于存储器装置的每一平面的相应存取线驱动器电路及电源电路,以促进对包含不同页类型的两个或多于两个存储器平面的页的并发存取。
16.存储器装置可包含一或多个存储器单元。每一存储器单元可包含一或多个存储器胞元(例如,页、块或一些其它翻译单元(tu))。在某些存储器装置中,当数据被写入到存储器单元时,相邻的(例如,连续的、邻近的、附近的、紧邻的等)存储器单元可经历所谓的“写入干扰”。写入干扰是将数据连续写入到特定存储器单元而不写入及/或刷新存储在附近的存储器单元处的数据的结果,导致附近的存储器单元随时间改变状态(例如,经编程状态改变)。如果对特定存储器单元(在下文中也被称为“侵略者”)执行过多的写入操作,那么存储在存储器装置的相邻或接近存储器单元(在下文中也被称为“受害者”)处的数据可被损坏
或不正确地存储。在写入操作期间,从侵略者单元产生的热可导致受害者单元的存储器合金结晶,从而降低其质量。因此,在传统的存储器子系统中,当读取存储在相邻或接近存储器单元处的数据时,可导致更高的错误率。较高的错误率(例如,原始位错误率,或rber)可增加对存储器单元执行的后续操作(例如,读取及/或写入)的错误检测及纠正操作(例如,纠错操作)的使用。纠错操作的增加使用可导致常规存储器子系统的性能降低。随着存储器子系统的更多资源用于执行错误控制操作,更少的资源可用来执行其它读取操作或写入操作。因此,因为在特定时间量内可执行更少的读取操作及写入操作,所以存储器子系统的性能可降低。
17.为了减轻写入干扰对存储在存储器子系统处的数据的影响,某些存储器子系统通常利用各种写入刷新过程。例如,某些存储器子系统可基于对存储器单元执行的写入操作的数目而执行刷新操作。通常,存储器子系统将对存储器装置的单元执行的写入操作的数目作为元数据存储在存储器装置上。对于对特定存储器单元执行的每一写入操作,存储器子系统使计数器递增一。当计数器达到写入操作的某一预定义阈值数目(例如,512个写入操作)时,存储器子系统可对受害者存储器单元的数据执行刷新操作。刷新操作通常可包含读取受害者存储器单元的数据、对数据执行纠错操作以及将数据写回到受害者存储器单元。一旦执行刷新操作,存储器子系统可将计数器复位为初始值,且然后重新启动所述过程。因此,存储器子系统以恒定周期(例如,每512个写入操作)执行刷新操作。然而,此写入干扰的解决方案可导致存储器子系统的性能的进一步下降。特定地,此解决方案可导致存储器装置中的振荡行为。例如,如果对存储器装置的两个侵略者存储器单元交替地执行写入操作,那么存储器子系统可能仅对两个侵略者存储器单元中的一个的受害者存储器单元执行刷新操作。例如,如果写入操作的预定义阈值数目为512个写入操作且存储器子系统交替地对两个侵略者存储器单元执行写入操作,那么通常将每次对相同侵略者存储器单元执行第512次写入操作。因此,存储器子系统将仅对与第512次写入操作相关联的侵略者存储器单元的受害者存储器单元执行刷新操作,并且将无法对另一侵略者存储器单元的受害者存储器单元执行刷新操作。
18.在另一实例中,某些存储器子系统可基于随机或伪随机数的写入操作而执行刷新操作。通常,存储器子系统将对特定存储器单元执行的写入操作的数目作为元数据存储在存储器装置上。对于对特定存储器单元执行的每一写入操作,存储器子系统使计数器递增一。对于每一写入操作,存储器子系统还生成随机或伪随机数。如果随机或伪随机数小于或等于写入操作的某一预定义阈值数目(例如,512个写入操作),那么存储器子系统可对受害者存储器单元的数据执行刷新操作。此解决了上述现有解决方案中所论述的振荡行为,这是因为在执行刷新操作之后不存在恒定的写入操作周期。相反,刷新操作是基于所执行的随机或伪随机数的写入操作而执行的。然而,此解决方案仍可对性能产生负面影响。特别地,基于随机或伪随机数的写入操作而执行刷新操作具有两个缺点。首先,由于执行刷新操作取决于随机或伪随机生成的数目,因此刷新操作之间的间隔非常短的概率可能很高。短间隔内执行刷新操作对于减轻写入干扰错误是不必要的,并且将因在少量时间内执行太多刷新操作并耗尽资源而对性能导致负面影响。此外,此解决方案可能导致刷新操作之间的间隔非常长的可能性。在此状况下,长时间段不执行刷新操作可增加写入干扰错误的概率,且因此增加受害者存储器单元数据丢失的风险。
19.本公开的各方面通过提供存储器子系统来解决上述及其它缺陷,所述存储器子系统使用随机刷新周期来管理存储器装置中的存储器单元的写入干扰。在某些实施例中,存储器单元可为存储器装置内的一个存储器胞元或一组相邻或接近的存储器胞元。在一个实施例中,存储器子系统控制器可检测正对侵略者存储器单元执行的写入操作。响应于检测到写入操作,存储器子系统控制器可使其维护以跟踪对侵略者存储器单元的写入操作的数目的计数器递增。存储器子系统控制器可识别具有上限及下限的数值范围(例如,500到524)。存储器子系统控制器可识别(例如,生成)数值范围内的随机或伪随机数(例如,512)。存储器子系统控制器可将阈值准则设置为基于随机或伪随机数(例如,阈值准则是512个写入操作)。存储器子系统控制器可确定计数器是否满足阈值准则。如果计数器的值满足阈值准则,那么存储器子系统控制器可对侵略者存储器单元的受害者存储器单元执行刷新操作。一旦执行刷新操作,存储器子系统控制器可将计数器复位为初始值并在数值范围内识别新的随机或伪随机数。
20.本公开的优点包含但不限于在不降低性能的情况下管理对存储器子系统的存储器装置的单元的写入干扰。如上文本文中所论述,常规存储器子系统中用于写入干扰的当前解决方案可导致其它性能问题。特别地,存在振荡行为、刷新操作之间的短刷新间隔及刷新操作之间的长刷新间隔的风险,所有这些会对如上文所论述的存储器子系统的性能产生负面影响。与现有解决方案不同,本公开的各方面使得存储器子系统能够以随机周期而非恒定周期执行刷新操作,因此不存在存储器装置中的振荡行为的风险。此外,由于存储器子系统可基于限制在定义的数值范围内的随机数而执行刷新操作,因此不存在刷新间隔非常短或刷新间隔长的风险,因为随机数将始终在定义的数值范围内。因此,本公开的各方面减轻写入干扰错误并改进存储器子系统的性能。
21.图1根据本公开的一些实施例说明包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130),或此类组合。
22.存储器子系统110可为存储装置、存储器模块或存储装置及存储器模块的组合。存储装置的实例包含固态驱动器(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器、安全数字(sd)卡及硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)及各种类型的非易失性双列直插式存储器模块(nvdimm)。
23.计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它交通工具)、支持物联网(iot)的装置、嵌入式计算机(例如,包含在运载工具、工业设备或联网商用装置中的计算机),或包含存储器及处理装置的此类计算装置。
24.计算系统100可包含主机系统120,所述主机系统耦合到一或多个存储器子系统110。在一些实施例中,主机系统120耦合到不同类型的多个存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与...耦合”通常是指组件之间的连接,所述连接可为间接通信连接或直接通信连接(例如,无需中间组件),无论有线还是无线的,包含例如电、光学、磁性等连接。
25.主机系统120可包含处理器芯片组及由处理器芯片组执行的软件堆栈。处理器芯
片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如,nvdimm控制器)及存储协议控制器(例如,pcie控制器、sata控制器)。主机系统120例如使用存储器子系统110将数据写入到存储器子系统110,并且从存储器子系统110读取数据。
26.主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行先进技术总线附属(sata)接口、快速外围组件互连(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接scsi(sas)、双倍数据速率(ddr)存储器总线、小计算机系统接口(scsi)、双列直插式存储器模块(dimm)接口(例如,支持双数据速率(ddr)的dimm套接字接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过物理主机接口(例如,pcie总线)与主机系统120耦合时,主机系统120可进一步利用高速nvm(nvme)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传递控制、地址、数据及其它信号的接口。图1说明存储器子系统110作为实例。通常,主机系统120可经由同一通信连接、多个单独通信连接及/或通信连接的组合存取多个存储器子系统。
27.存储器装置130、140可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为(但不限于)随机存取存储器(ram),例如动态随机存取存储器(dram)及同步动态随机存取存储器(sdram)。
28.非易失性存储器装置的一些实例(例如,存储器装置130)包含“与非”(nand)类型快闪存储器及就地写入存储器,例如三维交叉点(“3d交叉点”)存储器装置,所述存储器装置为非易失性存储器胞元的交叉点阵列。非易失性存储器胞元的交叉点阵列可结合可堆叠的交叉网格化数据存取阵列基于体电阻的改变执行位存储。此外,与许多基于快闪存储器的存储器相比,交叉点非易失性存储器可执行原地写入操作,其中可在不预先擦除非易失性存储器胞元的情况下编程非易失性存储器胞元。例如,nand型快闪存储器包含二维nand(2d nand)及三维nand(3d nand)。
29.存储器装置130中的每一个可包含一或多个存储器胞元阵列。一种类型的存储器胞元,例如,单级胞元(slc)可每胞元存储一个位。其它类型的存储器胞元,例如多级胞元(mlc)、三级胞元(tlc)、四级胞元(qlc)及五级胞元(plc)可每胞元存储多个位。在一些实施例中,存储器装置130中的每一个可包含一或多个存储器胞元阵列,例如slc、mlc、tlc、qlc、plc或此类的任一组合。在一些实施例中,特定存储器装置可包含存储器胞元的slc部分及mlc部分、tlc部分、qlc部分或plc部分。存储器装置130的存储器胞元可经分组为页,所述页可指代用于存储数据的存储器装置的逻辑单元。对于一些类型的存储器(例如,nand),可将页分组以形成块。
30.尽管描述了非易失性存储器组件,例如非易失性存储器胞元的3d交叉点阵列及nand类型快闪存储器(例如,2d nand、3d nand),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(rom)、相变存储器(pcm)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(fetram)、铁电随机存取存储器(feram),磁随机存取存储器(mram)、自旋转移力矩(stt)-mram、导电桥接ram(cbram)、电阻随机存取存储器(rram)、氧化物基rram(oxram)、“或非”(nor)快闪存储器、或电可擦除可编程只读存储器(eeprom)。
31.存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以
执行例如在存储器装置130处读取数据、写入数据或擦除数据的操作以及其它此类操作。存储器子系统控制器115可包含例如一或多个集成电路及/或离散组件的硬件、缓冲存储器或其组合。硬件可包含具有专用(即,硬编码)逻辑的数字电路系统,以执行本文中所描述的操作。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等),或其它合适处理器。
32.存储器子系统控制器115可包含经配置以执行存储在本地存储器119中的指令的处理装置,例如,所述处理装置包含一或多个处理器(处理器117)。在所说明实例中,存储器子系统控制器115的本地存储器119包含嵌入式存储器,所述嵌入式存储器经配置以存储用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流以及例程的指令。
33.在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。虽然图1中的实例存储器子系统110已被说明为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,且替代地可依赖于外部控制(例如,由外部主机,或由与存储器子系统分开的处理器或控制器提供)。
34.通常,存储器子系统控制器115可从主机系统120接收命令或操作,且可将命令或操作转换为指令或适当的命令,以实现对存储器装置130的所要存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、无用信息收集操作、错误检测与纠错码(ecc)操作、加密操作、高速缓存操作,以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(lba)、命名空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115可进一步包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收的命令转换为命令指令以存取存储器装置130,以及将与存储器装置130相关联的响应转换为用于主机系统120的信息。
35.存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,dram)及地址电路系统(例如,行解码器及列解码器),其可从存储器子系统控制器115接收地址并解码所述地址以存取存储器装置130。
36.在一些实施例中,存储器装置130包含本地媒体控制器135,所述本地媒体控制器结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器胞元执行操作。外部控制器(例如,存储器子系统控制器115)可外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110为受管理存储器装置,其为原始存储器装置130,所述原始存储器装置在相同存储器装置封装内具有在裸片上的控制逻辑(例如,本地媒体控制器135)以及用于媒体管理的控制器(例如,存储器子系统控制器115)。受管理存储器装置的实例为受管理nand(mnand)装置。
37.存储器子系统110包含写入干扰管理组件113,其可管理存储器装置(例如,存储器装置130)的存储器单元的写入干扰。在一些实施例中,存储器子系统控制器115包含写入干扰管理组件113的至少一部分。在一些实施例中,写入干扰管理组件113为主机系统110、应用程序或操作系统的一部分。在其它实施例中,本地媒体控制器135包含写入干扰管理组件113的至少一部分且经配置以执行本文中所描述的功能性。
38.写入干扰管理组件113可检测正对存储器单元执行的写入操作。响应于检测到写
入操作,存储器子系统可使其维护以跟踪对存储器单元的写入操作的数目的计数器递增。写入干扰管理组件113可确定在邻近(例如,相邻或接近的)存储器单元经历写入干扰效应之前对存储器单元执行的写入操作的平均数目。写入操作的平均数目可基于媒体特性。写入干扰管理组件113可识别具有上限及下限的数值范围(例如,500到524)。数值范围可在写入操作的平均数目的容限(例如,10%、20%等)内。写入干扰管理组件113可识别(例如,生成)数值范围内的随机或伪随机数(例如,512)。写入干扰管理组件113可基于随机数或伪随机数为设置阈值准则(例如,阈值准则是512个写入操作)。写入干扰管理组件113可确定计数器是否满足阈值准则。如果计数器的值满足阈值准则,那么写入干扰管理组件113可对存储器单元的邻近存储器单元执行刷新操作。一旦执行刷新操作,写入干扰管理组件113可将计数器复位为初始值并识别数值范围内的新的随机或伪随机数。下文描述关于写入干扰管理组件113的操作的进一步细节。
39.图2a根据本公开的实施例说明对存储器装置的相邻存储器单元造成写入干扰效应的实例存储器单元。在一个实施方案中,存储器单元211与存储器单元214及存储器单元215竖直地相邻。存储器单元211还与存储器单元212及存储器单元213水平地相邻。在一个实施方案中,存储器装置可包含共享位线,所述共享位线具有延伸到单独源极线的多个立柱。每一立柱可为竖直导电迹线并且每一立柱与每一字线的交点形成存储器单元(例如,存储器胞元)。在此类状况下,每一存储器单元具有从北、东、南及西方向邻接其位线-字线交点的四个相邻的邻近存储器单元。
40.在一些实施方案中,当对存储器单元211执行写入操作时,每一邻近存储器单元的电压级变更,从而最终导致邻近存储器单元的数据失真度。在此状况下,存储器单元211可被称为侵略者,且其邻近的存储器单元212-215可被称为受害者。在某些实施方案中,受害者存储器单元212到215的数据失真可导致数据丢失,如上文所解释。因此,可对每一受害者存储器单元212到215执行刷新操作,其中读取存储在每一存储器单元212到215处的数据,对数据执行纠错操作,且然后将数据写回到同一存储器单元212到215,因此克服由侵略者存储器单元211引起的写入干扰的影响。
41.图2b根据本公开的一些实施例说明定义的刷新间隔范围的实例图。写入干扰管理组件(例如,图1的写入干扰管理组件113)可识别具有上限及下限的刷新间隔(即,数值范围)。写入干扰管理组件113可通过确定在邻近(例如,相邻或接近)存储器单元经历写入干扰效应之前对存储器单元执行的写入操作的平均数目来识别刷新间隔。刷新间隔可在写入操作的平均数目的容限(例如,10%、20%等)内。例如,在图2b中,写入干扰管理组件可识别具有下限r1及上限r2的刷新间隔260。下限r1可等于500个写入操作,且上限r2可等于524个写入操作。写入干扰管理组件113可识别(例如,生成)在数值范围内的随机或伪随机数n(例如,512)。随机或伪随机数n将被限制在r1与r2之间。如上所述,将随机或伪随机数n约束在r1与r2内可防止振荡行为并降低刷新间隔短或长的概率。下文描述关于写入干扰管理组件113的操作的进一步细节。
42.图3是根据本公开的一些实施例的用于减轻对存储器装置的存储器单元的写入干扰的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑,微码,装置的硬件,集成电路等),软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300由图1的写入干扰
管理组件113执行。尽管以特定的顺序或次序展示,但除非另有所规定,否则可修改过程的次序。因此,所说明的实施例应仅理解为实例,且所说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一实施例中需要所有过程。其它过程流程是可能的。
43.在操作304,处理逻辑检测对存储器装置的存储器单元执行的写入操作。存储器单元可包含存储器装置的一或多个存储器胞元。存储器单元也可被称为“侵略者”存储器单元。侵略者存储器单元可与存储器装置的一或多个其它存储器单元邻近(例如,相邻、接近、紧邻等)。在一些实施例中,一或多个其它存储器单元可接收作为对存储器装置的侵略者存储器单元执行的写入操作的结果的写入干扰效应。一或多个其它存储器单元也可被称为“受害者”存储器单元。
44.在操作306,处理逻辑使与存储器单元相关联的计数器的值递增。在一些实施例中,处理逻辑响应于检测到写入操作而使计数器的值递增(例如,递增1)。在一些实施例中,计数器的值可对应于对存储器单元的写入操作的发生次数。在一些实施例中,处理逻辑将计数器的值存储在与存储器单元及/或存储器装置相关联的数据结构(例如,表格)中。数据结构可用于存储与存储器单元及/或存储器装置相关联的元数据。在一些实施例中,使与存储器单元相关联的计数器的值递增可包含更新与数据结构中的计数器相关联的条目。在一些实施例中,处理逻辑可为存储器装置的每一存储器单元维护计数器。在一些实施例中,处理逻辑可为整个存储器装置维护全局计数器。
45.在操作308,处理逻辑确定计数器的值满足阈值准则。在一些实施例中,处理逻辑可定义具有上限及下限的数值范围。例如,如在图2b中所说明,处理逻辑可定义具有上限r2及下限r1的刷新间隔260。在一些实施例中,处理逻辑确定在一或多个存储器单元(例如,受害者存储器单元)经历写入干扰效应之前对存储器单元执行的写入操作的平均数目。写入操作的平均数目可基于存储器装置的媒体特性。在一些实施例中,处理逻辑可将数值范围定义为在写入操作的平均数目的容限(例如,10%、20%等)内。在一些实施例中,处理逻辑可生成随机数或伪随机数(例如,使用随机数生成器算法)。可将随机数或伪随机数限制在定义的数值范围内。例如,如在图2b中所说明,可在刷新间隔260的上限r2与下限r1之间生成随机或伪随机数n。在一些实施例中,处理逻辑可将阈值准则设置为等于随机数或伪随机数。在一些实施例中,确定计数器的值满足阈值准则包含确定计数器的值大于或等于与阈值准则相关联的阈值。在一些实施例中,处理逻辑可确定计数器的值不满足阈值准则。例如,确定计数器的值不满足阈值准则可包含确定计数器的值小于与阈值准则相关联的阈值。响应于确定计数器的值不满足阈值准则,处理逻辑可返回到如上文所描述的操作304并检测对存储器单元执行的另一写入操作。
46.在操作310,处理逻辑对一或多个其它存储器单元执行刷新操作。在一些实施例中,一或多个其它存储器单元(例如,受害者存储器单元)可包含与侵略者存储器单元邻近(例如,相邻、接近、紧邻等)的一或多个存储器胞元。在一些实施例中,处理逻辑响应于确定计数器的值满足阈值准则而执行刷新操作。在一些实施例中,执行刷新操作包含从一或多个其它存储器单元读取数据,对数据执行纠错操作,以及将数据写回到一或多个其它存储器单元以便复位一或多个存储器单元的电压偏移,如上文在本文中更详细解释。在一些实施例中,处理逻辑响应于对一或多个存储器单元执行刷新操作而将计数器的值复位为初始
值(例如,0)。将计数器的值复位为初始值可包含用初始值更新与计数器相关联的数据结构中的条目。在一些实施例中,处理逻辑在关于执行刷新操作的定义的数值范围内识别(例如,生成)新的随机数或伪随机数。
47.图4是根据本公开的一些实施例的用于减轻对存储器装置的存储器单元的写入干扰的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑,微码,装置的硬件,集成电路等),软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400由图1的写入干扰管理组件113执行。尽管以特定的顺序或次序展示,但除非另有所规定,否则可修改过程的次序。因此,所说明的实施例应仅理解为实例,且所说明的过程可以不同次序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,并非在每一实施例中需要所有过程。其它过程流程是可能的。
48.在操作404,处理逻辑定义具有上限及下限的数值范围。例如,如在图2b中所说明,处理逻辑可定义具有上限r2及下限r1的刷新间隔260。在一些实施例中,处理逻辑确定在邻近(例如,相邻、接近等)一或多个存储器单元经历写入干扰效应之前对存储器装置的存储器单元执行的写入操作的平均数目。写入操作的平均数目可基于存储器装置的媒体特性。在一些实施例中,处理逻辑可将数值范围定义为在写入操作的平均数目的容限(例如,10%、20%等)内。在一些实施例中,处理逻辑可生成随机数或伪随机数(例如,使用随机数生成器算法)。可将随机数或伪随机数限制在定义的数值范围内。例如,如在图2b中所说明,可在刷新间隔260的上限r2与下限r1之间生成随机或伪随机数n。
49.在操作406,处理逻辑基于随机数或伪随机数而确定阈值准则。在一些实施例中,确定阈值准则可包含将阈值准则设置为等于随机数或伪随机数。
50.在操作408,处理逻辑检测对存储器装置的存储器单元执行的写入操作。存储器单元可包含存储器装置的一或多个存储器胞元。存储器单元也可被称为“侵略者”存储器单元。侵略者存储器单元可与存储器装置的一或多个其它存储器单元邻近(例如,相邻、接近、紧邻等)。在一些实施例中,一或多个其它存储器单元可接收作为对存储器装置的侵略者存储器单元执行的写入操作的结果的写入干扰效应。一或多个其它存储器单元也可被称为“受害者”存储器单元。
51.在操作410,处理逻辑使与存储器单元相关联的计数器的值递增。在一些实施例中,处理逻辑响应于检测到写入操作而使计数器的值递增(例如,递增1)。在一些实施例中,计数器的值可对应于对存储器单元的写入操作的发生次数。在一些实施例中,处理逻辑将计数器的值存储在与存储器单元及/或存储器装置相关联的数据结构(例如,表格)中。数据结构可用于存储与存储器单元及/或存储器装置相关联的元数据。在一些实施例中,使与存储器单元相关联的计数器的值递增可包含更新与数据结构中的计数器相关联的条目。在一些实施例中,处理逻辑可为存储器装置的每一存储器单元维护计数器。在一些实施例中,处理逻辑可为整个存储器装置维护全局计数器。
52.在操作412,处理逻辑确定计数器的值满足阈值准则。在一些实施例中,确定计数器的值满足阈值准则包含确定计数器的值大于或等于与阈值准则相关联的阈值。在一些实施例中,处理逻辑可确定计数器的值不满足阈值准则。例如,确定计数器的值不满足阈值准则可包含确定计数器的值小于与阈值准则相关联的阈值。响应于确定计数器的值不满足阈
值准则,处理逻辑可返回到如上文所描述的操作408并检测对存储器单元执行的另一写入操作。
53.在操作414,处理逻辑从一或多个其它存储器单元读取数据。在一些实施例中,从一或多个其它存储器单元读取数据可为对一或多个其它存储器单元执行的刷新操作的一部分。在一些实施例中,一或多个其它存储器单元(例如,受害者存储器单元)可包含与侵略者存储器单元邻近(例如,相邻、接近、紧邻等)的一或多个存储器胞元。
54.在操作416,处理逻辑对来自一或多个其它存储器单元的数据执行纠错操作。在一些实施例中,对数据执行纠错操作可是对一或多个其它存储器单元执行的刷新操作的一部分。
55.在操作418,处理逻辑将数据写回到一或多个其它存储器单元。在一些实施例中,将数据写回到一或多个其它存储器单元可是对一或多个其它存储器单元执行的刷新操作的一部分。
56.在操作420,处理逻辑将计数器的值复位为初始值(例如,零)。在一些实施例中,处理逻辑响应于对一或多个存储器单元执行刷新操作而将计数器的值复位为初始值。将计数器的值复位为零可包含用初始值更新与计数器相关联的数据结构中的条目。在一些实施例中,处理逻辑在关于执行刷新操作的定义的数值范围内识别(例如,生成)新的随机数或伪随机数。
57.图5说明计算机系统500的实例机器,在所述计算机系统内可执行用于致使机器执行本文中所论述的方法中的任何一或多个的指令集。在一些实施例中,计算机系统500可对应于主机系统(例如,图1的主机系统120),其包含,耦合到,或利用存储器子系统(例如,图1的存储器子系统110)或可用于对控制器执行操作(例如,执行操作系统以执行对应于图1的写入干扰管理组件113的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,作为对等(或分布式)网络环境中的对等机器操作,或作为云计算基础设施或环境中的服务器或客户端机器操作。
58.所述机器可为个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、移动电话、网络器具、服务器、网络路由器、交换机或网桥,或能够执行规定由所述机器进行的动作的指令集(顺序或其它方式)的任何机器。此外,虽然说明单个机器,但术语“机器”还应被视为包含单独或联合执行一(或多个)指令集以执行本文中所论述的方法中的任何一或多个的任何机器集合。
59.实例计算机系统500包含经由总线530彼此通信的处理装置502、主存储器504(例如,只读存储器(rom)、快闪存储器、例如同步dram(sdram)或rdram等的动态随机存取存储器(dram))、静态存储器506(例如,快闪存储器、静态随机存取存储器(sram)等)以及数据存储系统518。
60.处理装置502表示一或多个通用处理装置,例如微处理器、中央处理单元,等等。更特定地,处理装置可为复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集组合的处理器。处理装置502还可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置502经配置以执行用于执行本文中
所论述的操作和步骤的指令526。计算机系统500可进一步包含网络接口装置508以经由网络520进行通信。
61.数据存储系统518可包含机器可读存储媒体524(也被称作为计算机可读媒体),其上存储体现本文中所描述的方法或功能中的任何一或多个的一或多个集合的指令526或软件。指令526还可在计算机系统500执行所述指令期间完全或至少部分地驻留在主存储器504内及/或处理装置502内,主存储器504和处理装置502也构成机器可读存储媒体。机器可读存储媒体524、数据存储系统518及/或主存储器604可对应于图1的存储器子系统110。
62.在一个实施例中,指令526包含用以实施对应于写入干扰管理组件(例如,图1的写入干扰管理组件113)的功能性的指令。虽然机器可读存储媒体524在实例实施例中被展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码指令集以供机器执行且使机器执行本公开的方法中的任何一或多个的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体及磁媒体。
63.已在计算机存储器内的算法及数据位的操作的符号表示方面来呈现前面的详细描述的一些部分。这些算法描述及表示为由所属数据处理领域的技术人员用于以向所属领域的其它技术人员传达其工作的本质的方式。算法此处且通常被认为导致所要结果的自洽操作序列。操作为需要物理操纵物理量的操作。通常,但非必需地,这些量可采取能够存储、组合、比较或以其它方式操纵的电或磁信号的形式。将这些信号称作位、值、元素、符号、字符、项、数字等等有时已证明是便利的(主要出于共用的原因)。
64.然而,应记住,所有这些术语及类似术语均与适当的物理量相关联,且仅作为应用于这些量的方便标签。本公开可是指计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵及变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储器系统内的物理量的其它数据。
65.本公开还涉及用于执行本文中操作的设备。此设备可为特定目的而专门构造,或其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的磁盘,包含软盘、光盘、cd-rom及磁光盘,只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁或光卡,或适用于存储电子指令的任何类型的媒体,每一者都耦合到计算机系统总线。
66.本文中所呈现的算法及显示并不与任何特定计算机或其它设备内在地相关。根据本文中的教示,各种通用系统可与程序一起使用,或可证明构造更专用的设备以执行所述方法为方便的。各种这些系统的结构将如下文描述中所述。另外,不参考任何特定编程语言描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。
67.本公开可经提供作为计算机程序产品或软件,其可包含机器可读媒体,具有存储于其上的指令,所述指令可用于对计算机系统(或其它电子装置)进行编程以根据本公开执行处理。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁性磁盘存储媒体、光存储媒体、快闪存储器组件等。
68.在上述说明书中,本公开的实施例已参考其特定实例实施例进行描述。显而易见
的是,在不脱离所附权利要求书中所阐明的本公开的实施例的更广泛的精神及范围的情况下,可对其进行各种修改。因此,说明书及图式应考虑说明性而非限制性。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献