用于基于循环计数度量调节分界电压的方法和装置与流程

文档序号:17335311发布日期:2019-04-05 22:25阅读:160来源:国知局
用于基于循环计数度量调节分界电压的方法和装置与流程

本公开一般涉及计算机开发领域,更具体地涉及对存储器的读取操作。



背景技术:

存储设备可以包括诸如多层叠三维(3d)交叉点存储器单元之类的交叉点存储器技术。在读取操作期间施加到存储器单元的分界电压(vdm)可允许确定存储器单元的状态(例如,存储器单元是存储逻辑0还是逻辑1值)。

附图说明

图1示出了根据一些实施例的计算机系统的组件的框图。

图2示出了根据一些实施例的存储器分区。

图3示出了根据一些实施例的存储器阵列。

图4示出了根据一些实施例的描绘存储器单元阈值电压分布和对应的分界电压的曲线图。

图5示出了根据一些实施例的用于跟踪循环计数度量并调节分界电压的存储设备控制器。

图6示出了根据一些实施例的用于基于一个或多个循环计数度量来调节一个或多个分界电压的示例流程。

在各个附图中相似的附图标记和符号表示相似的元件。

具体实施方式

虽然附图描绘了特定的计算机系统,各个实施例的概念适用于任何适合的计算机系统。可以使用本公开的教导的系统的示例包括台式计算机系统、服务器计算机系统、存储系统、手持式设备、平板设备、其它薄笔记本、片上系统(soc)设备和嵌入式应用。手持式设备的一些示例包括蜂窝电话、数字相机、媒体播放器、个人数字助理(pda)和手持式pc。嵌入式应用可以包括微控制器、数字信号处理器(dsp)、soc、网络计算机(netpc)、机顶盒、网络集线器、广域网(wan)交换机或能够执行下文教导的功能和操作的任何其它系统。本公开的各个实施例可用于任何适合的计算环境,诸如个人计算设备、服务器、主机、云计算服务提供商基础设施、数据中心、通信服务提供商基础设施(例如,演进分组核心的一个或多个部分)或包括一个或多个计算设备的其它环境。

图1示出了根据一些实施例的计算机系统100的组件的框图。系统100包括中央处理单元(cpu)102,其耦合到外部输入/输出(i/o)控制器104、存储设备106和系统存储器设备107。在操作期间,数据可以在存储设备106或系统存储器设备107与cpu102之间传输。在各个实施例中,涉及存储设备106或系统存储器设备107的特定的存储器访问操作(例如,读取操作和写入操作)可以由处理器108执行的操作系统和/或其它软件应用发布。在各个实施例中,存储设备106可以包括存储设备控制器118和一个或多个存储器芯片116,每个存储器芯片均包括任何适合数量的存储器分区122。

存储器分区可以包括3d交叉点存储器阵列。在一些实施例中,3d交叉点存储器阵列可以包括无晶体管(即,至少关于于存储器的数据存储元件)可叠置交叉点体系结构,其中存储器单元位于以栅格布置的行地址线和列地址线的交叉处。

在读取操作期间,有时称为分界电压(vdm)的差分偏置(differentialbias)可跨存储器单元的端子被施加,并且可以基于存储器单元对施加的偏置的反应来感测存储器单元的状态。例如,存储器单元可以进入导通on状态(逻辑1)或保持弱导通off状态(逻辑0)。存储器单元从被感测为逻辑1转变到被感测为逻辑0所处的施加电压可以称为存储器单元的阈值电压。因此,作为示例,当vdm高于存储器单元的阈值电压时,存储器单元可被感测为存储逻辑1,并且当vdm低于存储器单元的阈值电压时,存储器单元可以被感测为存储逻辑0。

3d交叉点存储器单元可以具有比其它类型的存储器单元(例如,nand闪速存储器单元)更好的固有耐用性。然而,3d交叉点存储器单元具有有限的耐用性,其由写入循环数量来规定(即,对存储器单元执行的写入操作)。由于循环,置位(逻辑1)和复位(逻辑0)存储器单元的阈值电压向下移(即,阈值电压变得更小)。随时间推移,默认vdm的施加导致位被错误地感测(例如,置位为逻辑0的位可能被感测为逻辑1)。在一些情况下,在读取期间的错误位的数量可能大于错误纠正逻辑可纠正的位数量。本公开的各种实施例动态地跟踪循环计数度量并且相应地调整vdm以降低错误率并且延长存储设备106的3d交叉点存储器单元的寿命。

cpu102包括处理器108,如微处理器、嵌入式处理器、dsp、网络处理器、手持式处理器、应用处理器、协处理器、soc或执行代码的其它设备(即,软件指令)。在所描述的实施例中,处理器108包括两个处理元件(所描绘的实施例中的核心114a和114b),它们可以包括非对称处理元件或对称处理元件。然而,处理器可以包括可以对称或不对称的任意数量的处理元件。cpu102可以在本文称为主机计算设备(但是主机计算设备可以是能够操作以发布存储器访问命令给存储设备106的任何适合的计算设备)。

在一个实施例中,处理元件是指支持软件线程的硬件或逻辑。硬件处理元件的示例包括:线程单元,线程槽,线程,进程单元,上下文,上下文单元,逻辑处理器,硬件线程,核心,和/或能够保持处理器的状态(诸如执行状态或体系结构状态)的任何其它元件。换言之,在一个实施例中,处理元件是指任何能够独立地与代码(诸如软件线程、操作系统、应用程序或其它代码)相关联的硬件。物理处理器(或处理器插槽)通常是指集成电路,可能包括诸如核心或硬件线程的任意数量的其它处理元件。

核心114(例如,114a或114b)可以是指位于能够维护独立体系结构状态的集成电路上的逻辑,其中每个独立维护的体系结构状态与至少一些专用执行资源相关联。硬件线程可以是指位于能够维护独立体系结构状态的集成电路上的任何逻辑,其中独立维护的体系结构状态共享对执行资源的访问。能够看出,当某些资源共享而其它专用于体系结构状态时,硬件线程和核心的命名之间的线重叠。更通常地,核心和硬件线程被操作系统视为单独的逻辑处理器,其中操作系统能够单独地调度每个逻辑处理器上的操作。

在各个实施例中,处理元件还可以包括一个或多个算术逻辑单元(alu)、浮点单元(fpu)、高速缓存、指令管线、中断处理硬件、寄存器或促进处理元件的操作的其它硬件。

i/o控制器110是集成i/o控制器,其包括用于在cpu102与i/o设备之间传送数据的逻辑,其可以指能够传输数据到电子系统(诸如cpu102)和/或从电子系统接收数据的任何适合的逻辑。例如,i/o设备可以包括音频/视频(a/v)设备控制器,诸如图形加速器或音频控制器;数据存储设备控制器,诸如闪存设备、磁存储盘或光存储盘控制器;无线收发机;网络处理器;网络接口控制器;或用于诸如监视器、打印机、鼠标、键盘或扫描仪等另一输入设备的控制器;或其它适合的设备。在特定实施例中,i/o设备可以包括通过i/o控制器110与cpu102耦合的存储设备106的存储设备控制器118。

i/o设备可以使用任何适合的信令协议来与cpu102的i/o控制器110进行通信,例如外围组件互连(pci)、pciexpress(pcie)、通用串行总线(usb)、串行附连scsi(sas)、串行ata(sata)、光纤通道(fc)、ieee802.3、ieee802.11或其它当前或未来的信令协议。在特定实施例中,i/o控制器110和底层i/o设备可以根据逻辑设备接口规范来传送数据和命令,逻辑设备接口规范诸如为非易失性存储器express(nvme)(例如,如在www.nvmexpress.org/specifications/可获得的一个或多个规范所描述的)或高级主机控制器接口(ahci)(例如,如诸如在http://www.intel.com/content/www/us/en/io/serial-ata/serial-ata-ahci-spec-rev1-3-1.html处可获得的串行ataahci:specification,rev.1.3.1的一个或多个ahci规范所描述的)。在各个实施例中,与i/o控制器耦合的i/o设备可以定位在片外(即,不在与cpu102相同的芯片上)或者可以集成在与cpu102相同的芯片上。

cpu存储器控制器112是一种集成存储器控制器,其包括用于控制去往和来自一个或多个系统存储器设备107的数据流的逻辑。cpu存储器控制器112可以包括能够操作以进行以下操作的逻辑:从系统存储器设备107读取,写入系统存储器设备107,或者从系统存储器设备107请求其它操作。在各个实施例中,cpu存储器控制器112可以从核心114和/或i/o控制器110接收写入请求并且可以将这些请求中所指定的数据提供给系统存储器设备107以便存储在其中。cpu存储器控制器112还可以从系统存储器设备107读取数据并且将读取的数据提供给i/o控制器110或核心114。在操作期间,cpu存储器控制器112可以发出包括系统存储器设备107的一个或多个地址的命令以便从存储器读取数据或向存储器写入数据(或者执行其它操作)。在一些实施例中,cpu存储器控制器112还可以实现在与cpu102相同的芯片上,而在其它实施例中,cpu存储器控制器112可以实现在与cpu102的芯片不同的芯片上。i/o控制器110可以关于一个或多个存储设备106执行类似的操作。

cpu102还可以通过外部i/o控制器104耦合到一个或多个其它的i/o设备。在特定实施例中,外部i/o控制器104可以将存储设备106与cpu102耦合。外部i/o控制器104可以包括管理一个或多个cpu102与i/o设备之间的数据流的逻辑。在特定实施例中,外部i/o控制器104与cpu102一起位于母板上。外部i/o控制器104可以使用点对点或其它接口与cpu102的组件交换信息。

系统存储器设备107可以存储任何适合的数据,例如由处理器108用来提供计算机系统100的功能的数据。例如,与执行的程序或核心114访问的文件相关联的数据可以存储在系统存储器设备107中。因此,系统存储器设备107可以包括存储由核心114执行或以其它方式使用的数据和/或指令序列的系统存储器。在各个实施例中,系统存储器设备107可以存储即使在系统存储器设备107的电力被去除后仍保持其状态的永久数据(例如,用户的文件或指令序列)。系统存储器设备107可以专用于特定的cpu102或与计算机系统100的其它设备(例如,一个或多个其它处理器或其它设备)共享。

在各个实施例中,系统存储器设备107可以包括包含任意数量的存储器分区的存储器、存储器设备控制器和其它支撑逻辑(未示出)。存储器模块可以包括非易失性存储器和/或易失性存储器。

非易失性存储器是不需要电力来维持介质所存储的数据的状态的存储介质。在各个实施例中,非易失性存储器可以是字节可寻址的或块可寻址的。非易失性存储器的非限制性的示例可以包括以下的任意一个或组合:固态存储器(诸如平面或三维(3d)nand闪存或nor闪存),3d交叉点存储器,相变存储器(例如,在存储器单元中使用硫属玻璃相变材料的存储器)、铁电存储器、硅-氧化物-氮化物-氧化物-硅(sonos)存储器、聚合物存储器(例如,铁电聚合物存储器)、铁电晶体管随机存取存储器(fe-tram)双向存储器、防铁电存储器、纳米线存储器、电可擦除可编程只读存储器(eeprom)、忆阻器、单级或多级相变存储器(pcm)、自旋霍尔效应磁ram(she-mram)和自旋传递转矩磁ram(sttram)、电阻存储器、结合了忆阻器技术的磁阻随机存取存储器(mram)存储器,包括金属氧化物基、氧空位基的电阻存储器、以及导电桥随机存取存储器(cb-ram)、基于自旋电子磁结存储器的设备、基于磁隧道结(mtj)的设备、dw(域壁)和基于sot(自旋轨道传递)的设备、基于晶闸管的存储器设备或上述任何存储器或其它存储器的组合。

易失性存储器是一种需要电力来维持介质存储的数据的状态的存储介质。易失性存储器的非限制性的示例可以包括各种类型的随机存取存储器(ram)、诸如动态随机存取存储器(dram)或静态随机存取存储器(sram)。可以在存储器模块中使用的一个特定类型的dram是同步动态随机存取存储器(sdram)。在一些实施例中,作为易失性存储器的存储器107的任何部分可以符合jedec标准,包括但不限于双数据速率(ddr)标准,例如ddr3、ddr4和ddr5,或者低功率ddr4(lpddr4)以及出现的标准。

存储设备106可以存储任何适合的数据,诸如由处理器108用来提供计算机系统100的功能的数据。例如,与执行的程序或核心114a和114b访问的文件相关联的数据可以存储在存储设备106中。在各个实施例中,存储设备106可以存储即使在存储设备106的电力被移除后仍保持其状态的永久数据(即,用户的文件或软件应用代码)。存储设备106可以专用于cpu102或与计算机系统100的其它设备(例如,另一cpu或另一设备)共享。

在所描绘的实施例中,存储设备106包括存储设备控制器118以及四个存储器芯片116,每个存储器芯片包括能够操作来存储数据的四个存储器分区122,然而,存储设备可以包括任意适合数量的存储器芯片,每个存储器芯片具有任何适合数量的存储器分区。存储器分区122包括能够操作以存储数据的多个存储器单元。存储器分区122的单元可以通过任何适合的方式来布置,诸如成行(例如,字线)和列(例如,位线),三维结构,扇区,或其它方式。在各个实施例中,单元可逻辑分组为存储体、块、子块、字线、页、帧、字节、片或其它适合的组。在各个实施例中,存储器分区122可以包括上文列出的任何易失性或非易失性存储器或其它适合的存储器。在特定实施例中,每个存储器分区122包括一个或多个3d交叉点存储器阵列。结合下图对3d交叉点阵列进行更详细地说明。

在各个实施例中,存储设备106可以包括固态驱动器;存储卡;通用串行总线(usb)驱动器;非易失性双列直插存储器模块(nvdimm);集成在诸如智能手机、相机或媒体播放器的设备内的存储装置;或其它适合的大容量存储设备。

在特定实施例中,一个或多个存储器芯片116体现在半导体封装中。在各个实施例中,半导体封装可以包括包含一个或多个半导体芯片(还称为管芯)的外壳。封装还可以包括用于连接到外部电路的接触引脚或引线。在各个实施例中,存储器芯片可以包括一个或多个存储器分区122。因此,在一些实施例中,存储设备106可以包括一个或多个封装,每个封装包括一个或多个存储器芯片116,每个存储器芯片包括一个或多个存储器分区122。然而,存储设备106可以在任何适合的物理布置中包括一个或多个存储器分区和关联逻辑的任何适合的布置。例如,存储器分区122可以体现在一个或多个不同的物理介质中,例如电路板、半导体封装、半导体芯片、磁盘驱动器、其它介质或其任意组合。

存储设备106可以包括使用诸如基于ddr的协议、pci、pcie、usb、sas、sata、fc、系统管理总线(smbus)或其它适合的协议等任何适合的通信协议来与cpu存储器控制器112或i/o控制器110进行通信的任何适合的接口。存储设备106还可以包括根据诸如nvme、ahci或其它适合的规范等任何适合的逻辑设备接口规范来与cpu存储器控制器112或i/o控制器110进行通信的通信接口。在特定实施例中,存储设备106可以包括多个通信接口,每个通信接口使用单独的协议与cpu存储器控制器112和/或i/o控制器110进行通信。

存储设备控制器118可以包括这样的逻辑,逻辑用于从cpu102(例如,经由cpu存储器控制器112或i/o控制器110)接收请求,使得关于存储器芯片116执行请求,并且将与请求相关联的数据提供给cpu102(例如,经由cpu存储器控制器112或i/o控制器110)。控制器118还可以能操作以通过纠错码(ecc)引擎来检测和/或纠正在存储器操作期间遇到的错误。在实施例中,控制器118还例如通过磨损均衡引擎来跟踪已经写入特定单元(或单元的逻辑群组)的次数从而执行磨损均衡,检测单元何时正接近它们可以被可靠写入的估计次数,和/或基于单元已被写入的次数来调节读取操作(例如一个或多个vdm的电压电平)。在执行磨损均衡中,存储设备控制器118可以在存储器芯片116的单元之间均匀地分散写入操作,以试图使得每个单元所执行的操作(例如,写入操作)次数均衡。在各个实施例中,控制器118还可以监视存储设备106的各种特性,诸如温度或电压,并且将相关联的统计数据报告给cpu102。存储设备控制器118可以实现在与存储器芯片116相同的电路板或设备上,或实现在不同的电路板或设备上。例如,在一些环境中,存储设备控制器118可以是集中式存储控制器,其管理计算机系统100的多个不同的存储设备106的存储器操作。

在各个实施例中,存储设备106还包括程序控制逻辑124,其能够操作以控制当数据写入存储器芯片116或从存储器芯片116读取数据时执行的编程序列。在各个实施例中,程序控制逻辑124可以提供在数据的编程和/或读取(或执行与读取或编程操作相关联的其它操作)期间施加到存储器单元的各种电压(或指示应提供何种电压的信息),执行纠错,并且执行其它适合的功能。

在各种实施例中,程序控制逻辑124可以集成在与存储设备控制器118相同的芯片上或集成在不同的芯片上。在所描绘的实施例中,程序控制逻辑124被示出为存储设备控制器118的部分,但是在各种实施例中,程序控制逻辑124的全部或部分可以与存储设备控制器118分离且与存储设备控制器118通信地耦合。例如,本文所描述的程序控制逻辑124的全部或一部分可以位于存储器芯片116上。在各个实施例中,本文对“控制器”的引用可以指任何适合的控制逻辑,诸如存储设备控制器118、芯片控制器126或分区控制器。在一些实施例中,对控制器的引用可以设想分布在多个组件上的逻辑,诸如存储设备控制器118、芯片控制器126和/或分区控制器的逻辑。

在各种实施例中,存储设备控制器118可以从主机设备(例如,cpu102)接收命令,确定命令的目标存储器芯片,并且将命令传送到目标存储器芯片的芯片控制器126。在一些实施例中,存储设备控制器118可以在发送命令给芯片控制器126之前修改命令。

芯片控制器126可以从存储设备控制器118接收命令并且确定命令的目标存储器分区122。芯片控制器126然后可以将命令发送给所确定的存储器分区122的控制器。在各种实施例中,芯片控制器126可以在将命令发送给分区122的控制器之前修改命令。

在特定实施例中,芯片控制器126控制存储器读取操作期间存储器芯片的每个分区122所使用的vdm的值。在各种实施例中,芯片控制器126控制芯片的多个vdm的值(例如,如果vdm中的一个或多个导致令人不满意的感测结果,则在读取操作期间可以应用多个不同的vdm)。在一些实施例中,芯片控制器126可以响应于存储设备控制器118指定待用于存储器芯片116的vdm的值而发送的请求来调节一个或多个vdm的值。存储设备控制器118可以发送任何适合的命令(例如,专有或用户模式命令)以移位特定存储器芯片116的vdm。在特定实施例中,芯片控制器126控制供应整个存储器芯片116的vdm的全局偏置并且因此vdm的量不需要显式地传送给分区122的控制器。在各种实施例中,芯片控制器126可以将调节后的vdm值存储在非易失性存储装置中,使得保护调节后的vdm值免受电力故障影响。

在一些实施例中,系统100的元件中的全部或一些驻留在(或耦合到)同一电路板(例如,母板)上。在各种实施例中,可以存在元件之间的任何适合的分区。例如,在cpu102中所描绘的元件可以位于单个管芯(即,芯片上)或封装中,或者cpu102的任何元件可以位于片外或封装外。类似地,在存储设备106中所描绘的元件可以位于单个芯片或多个芯片上。在各种实施例中,存储设备106和计算主机(例如,cpu102)可以位于同一电路板或同一设备上,在其它实施例中,存储设备106和计算主机可以位于不同的电路板或设备上。

系统100的组件可以通过任何适合的方式耦合在一起。例如,总线可以将任何组件耦合在一起。总线可以包括任何已知的互连,诸如多点分支总线、网格互连、环形互连、点对点互连、串行互连、并行总线、相干(例如,高速缓存相干)总线、分层协议体系结构、差分总线和gunning收发机逻辑(gtl)总线。在各种实施例中,集成式的i/o子系统包括系统100的各组件(诸如核心114、一个或多个cpu存储器控制器112、i/o控制器110、集成式i/o设备、直接存储器存取(dma)逻辑(未示出)等)之间的点对点多路复用逻辑。在各种实施例中,计算机系统100的组件可以通过一个或多个网络耦合在一起,网络包括任意数量的中间网络节点,诸如路由器、交换机或其它计算设备。例如,计算主机(例如,cpu102)和存储设备106可以通过网络可通信地耦合。

虽然没有示出,系统100可以使用电池和/或电源插座连接器和关联的系统来接收电力,使用显示器来输出由cpu102提供的数据,使用网络接口来允许cpu102通过网络进行通信。在各种实施例中,电池、电源插座连接器、显示器和/或网络接口可以通信地耦合到cpu102。可以使用其它电源,例如可再生能源(例如,太阳能或基于运动的电力)。

图2示出了根据某些实施例的示例的存储器分区122。在一个实施例中,存储器分区122可以包括3d交叉点存储器,其可以包括相变存储器或其它适合的存储器类型。在特定实施例中,相变存储器可以利用硫属材料用于存储器元件。存储器元件是实际上存储信息的存储器单元的单位。在操作中,相变存储器可以通过使得存储器元件的相位在非晶质相位与晶质相位之间改变来将信息存储在存储器元件上。存储器元件的材料(例如,硫属材料)可以展示出晶质相或非晶质相位,展示出低的或高的导电率。通常,非晶质相位具有低导电率(高阻抗)并且与复位状态(逻辑0)相关联,而晶质相位具有高导电率(低阻抗)并且与置位状态(逻辑1)相关联。存储器元件可以包括在还包括选择器的存储器单元207(例如,相变存储器单元)中,选择器即为与存储器元件耦合的选择器件。选择器件被配置成促进将多个存储器元件组合成阵列。

在一些实施例中,3d交叉点存储器阵列206可以包括无晶体管(即,至少关于存储器的数据存储元件)可叠置交叉点体系结构,其中存储器单元207位于以栅格布置的行地址线和列地址线的交叉处。行地址线215和列地址线217,分别称为字线(wl)和位线(bl),在栅格形成中交叉,并且每个存储器单元207耦合在wl与bl之间,wl和bl在其中交叉(即,交叉点)。在交叉的点处,wl和bl可以位于不同的垂直平面,使得wl与bl交叉但不物理地触及bl。如上所述,该体系结构可以是可叠置的,使得字线可以与位于字线下方的位线交叉,并且可以与位于字线上方的另一位线交叉。应当注意,行和列是用于提供交叉点存储器中的wl和bl的布置的定性描述的方便术语。在各个实施例中,3d交叉点存储器阵列的单元可以能单独地寻址。在一些实施例中,位存储可基于3d交叉点存储器单元的体电阻的变化。在各种实施例中,3d交叉点存储器可以包括由因特尔公司(intelcorporation)和/或美光技术公司(microntechnology,inc)制造的3dxpoint存储器的任何特性。

在编程操作(即,写入操作)期间,可通过将第一偏压施加到wl并且将第二偏压施加到bl而导致在存储器单元上的差分偏压(这会导致电流流入存储器元件)来改变存储器元件的相位。可以在足以使得存储器元件“回弹”的第一时间段内保持存储器单元上的差分偏压,然后在第二时间段内维持以将存储器元件从非晶质状态转变到晶质状态或从晶质状态转变到非晶质状态(例如,通过施加由电流产生的热)。回弹是复合存储器元件的性质,导致存储器元件上导电率的突然变化以及相关联的电压的突然变化。

在读取操作中,目标存储器单元经由在时间间隔内向wl施加第一偏压以及向bl施加第二偏压来选择,wl和bl在目标存储器单元处交叉。所得到的存储器元件上的差分偏压(分界读电压(vdm))被配置成大于存储器元件的最大置位电压并且小于存储器元件的最小复位电压。在特定实施例中,单元处的wl的电压(v(wl))可以下降并且单元处的bl的电压(即,v(bl))可以上拉,使得v(bl)-v(wl)等于3d交叉点单元上的总偏置(即,vdm)。

响应于vdm的施加,目标存储器元件可以或者可以不回弹,取决于存储器元件是处于晶质状态(置位)还是非晶质状态(复位)。与存储器元件耦合的感测电路被配置成检测感测时间间隔内的回弹的存在或不存在。回弹的存在则可解释为逻辑1,回弹的不存在可解释为逻辑0。

存储器单元从被感测为逻辑1(例如,由于存储器单元回弹)转变为被感测为逻辑0(例如,由于存储器单元不回弹)所处的差分偏置可称为阈值电压(有时称为回弹电压)。因此,当vdm高于存储器单元的阈值电压时,存储器单元可被感测为存储逻辑1,而当vdm低于存储器单元的阈值电压时,存储器单元可被感测为存储逻辑0。

在一些实施例中,施加的偏置(诸如读取脉冲的vdm)可以足够高而仅在晶质状态下导通3d交叉点单元,晶质状态可具有比非晶质状态下的3d交叉点单元低的阈值电压。在一些实施例中,vdm可通过负和/或正调控节点来供应。例如,3d交叉点单元的位线电极可以是正调控节点,与单元耦合的字线电极可供应用于vdm的偏置。

在图2的实施例中,存储器分区122包括存储器分区控制器210、字线控制逻辑214、位线控制逻辑216和存储器阵列206。主机设备(例如,cpu102)可以将包括存储器地址和/或关联的数据的读取和/或写入请求提供给存储器分区122(例如,经由存储设备控制器118和芯片控制器126)并且可以从存储器分区122接收读取数据(例如,经由芯片控制器126和存储设备控制器118)。存储器分区控制器210(与字线控制逻辑214和位线控制逻辑216相结合)被配置成执行存储器访问操作,例如读取目标存储器单元和/或写入目标存储器单元。

存储器阵列206对应于3d交叉点存储器的至少一部分(例如,其可以包括相变存储器单元或其它适合的存储器单元)并且包括多个字线215、多个位线217和多个存储器单元,例如,存储器单元207。每个存储器单元耦合在字线(“wl”)与位线(“bl”)之间的wl与bl的交叉点处。每个存储器单元包括被配置成存储信息的存储器元件并且可以包括与存储器元件耦合的存储器单元选择器件(即,选择器)。选择器件可以包括双向阈值交换机、二极管、双极结晶体管、场效应晶体管等。存储器阵列206可被配置成存储二进制数据并且可写入(即,编程)到存储器阵列206或从存储器阵列206中读取。

存储器分区控制器210可以管理与芯片控制器126和/或存储设备控制器118的通信。在特定实施例中,存储器分区控制器210可以分析从另一控制器接收的一个或多个信号以确定经由总线发送的命令是否将要由存储器分区122消费。例如,控制器210可以分析命令的地址和/或使能信号线上的值以确定命令是否应用于存储器分区122。控制器210可以被配置成识别与接收到的存储器地址相关联的一个或多个目标wl和/或bl(该存储器地址可以是与标识存储器分区122的存储器分区地址分离的地址,但是在一些实施例中,命令的地址字段的部分可以标识存储器分区,而地址字段的另一部分可标识一个或多个wl和/或bl)。存储器分区控制器210可以被配置成至少部分地基于接收到的命令中所包括的wl和/或bl标识符来管理wl控制逻辑214和bl控制逻辑216的操作。

wl控制逻辑214包括wl交换机电路220和感测电路222。wl控制逻辑214被配置成从存储器分区控制器210接收目标wl地址并且选择用于读取和/或写入操作的一个或多个wl。例如,wl控制逻辑214可以被配置成通过将wl选择偏压与目标wl耦合来选择目标wl。wl控制逻辑214可以被配置成通过将目标wl与wl选择偏压解耦合和/或通过将wl取消选择偏压与wl耦合来取消选择wl。wl控制逻辑214可以与存储器阵列206中所包括的多个wl215耦合。每个wl可以与对应于多个bl217的多个存储器单元耦合。wl交换机电路220可以包括多个交换机,每个交换机被配置成将相应的wl(例如,wl215a)与wl选择偏压耦合(或解耦合)以选择相应的wl215a。例如,交换机电路220可以包括多个晶体管。

bl控制逻辑216包括bl交换机电路224。在一些实施例中,bl控制逻辑216还可以包括感测电路,例如,感测电路222。bl控制逻辑216被配置成选择用于读取和/或写入操作的一个或多个bl。bl控制逻辑216可以被配置成通过将bl选择偏压与目标bl耦合而选择目标bl。bl控制逻辑216可以被配置成通过将目标bl与bl选择偏压解耦合和/或通过将bl取消选择偏压与bl耦合来取消选择bl。除了bl交换机电路224被配置成将bl选择偏压与目标bl耦合之外,bl交换机电路224类似于wl交换机电路220。

感测电路222被配置成检测一个或多个感测的存储器单元207的状态(例如,经由感测间隔期间回弹事件的存在或不存在),例如,在读取操作期间。感测电路222被配置成将与读取操作的结果相关的逻辑电平输出提供给例如存储器分区控制器210。例如,如果施加的vdm高于存储器单元的阈值电压,则可以输出与逻辑1对应的逻辑电平,或者如果施加的vdm低于存储器单元的阈值电压,则可以输出与逻辑0对应的逻辑电平。在特定实施例中,如果检测到回弹,则可以输出逻辑1,而如果未检测到回弹,则可以输出逻辑0。

作为示例,响应于来自存储器分区控制器210的信号,wl控制逻辑214和bl控制逻辑216可以被配置成通过将wl215a与wl选择偏压耦合并且将bl217a与bl选择偏压耦合来选择用于读取操作的目标存储器单元,例如,存储器单元207。然后,感测电路222中的一者或两者可以被配置成在感测间隔内监视wl215a和/或bl217a,从而确定存储器单元217a的状态(例如,确定是否发生回弹事件)。例如,如果感测电路222检测到回弹事件,则存储器单元207a可以处于置位状态,但是如果感测电路222在感测间隔内未检测到回弹事件,则存储器单元207a可以处于复位状态。

因此,wl控制逻辑214和/或bl控制逻辑216可以被配置成选择用于读取操作的目标存储器单元,启动读取操作,在感测间隔内感测所选择的存储器单元(例如,针对回弹事件),并且将感测结果提供给例如存储器分区控制器210。

在特定实施例中,感测电路222可以包括与字线电极连接的字线负载,将字线电极上的电流转换成作为感测电路的电压比较器(即,感测放大器)的第一输入的电压。等同的字线负载可以连接到参考电流以提供作为电压比较器的第二输入的电压。当在阵列中选择了特定的字线和位线时,字线电极上的字线负载可以将选择的位线上的电流转换成电压。在一些实施例中,电流的泄漏分量可以通过针对全部其它未选择的字线和位线分别选择减少或最小化泄漏的偏置来减轻。电流的电容分量可通过允许使得电容分量有足够的时间消散来减轻。转换成电压比较器的第一输入的电流可与目标存储器单元的电流相对应。参考电流可被选择,使得目标存储器单元的电流在目标存储器单元回弹之前低于参考电流且在目标存储器单元回弹之后高于参考电流。以此方式,电压比较器的输出可以指示目标存储器单元的状态。锁存器可以耦合到电压比较器的输出以存储读取操作的输出。

图3示出了根据一些实施例的存储器阵列206。在各种实施例中,存储器阵列206的多个存储器单元207可以划分成逻辑组,如片302(并且存储器阵列206可以包括多个片)。在所描绘的实施例中,片302包括与同一wl215b耦合的多个存储器单元207,但是片302可以包括任何适合的存储器单元的布置。

在特定实施例中,片可以包括有效载荷部分304和元数据部分306。有效载荷部分304的存储器单元可以存储由主机(例如,cpu102)写入存储设备106的数据。例如,主机可以发送指定要在特定逻辑地址写入存储设备106的有效载荷数据的写命令。写命令的有效载荷可以存储在一个或多个片302的有效载荷部分304中(在各种实施例中,有效载荷部分304可以足够大以保存来自主机的多个写命令的有效载荷数据)。在各种实施例中,片的有效载荷部分的大小可以具有任何适合的大小,诸如1千位字节(kib)、2kib、4kib、8kib或其它适合的大小。

片302的元数据部分306的存储器单元可以存储与在片302的有效载荷部分304或片本身中存储的有效载荷数据相关联的元数据。元数据部分306可以存储与有效载荷数据或片相关联的任何适合的元数据。例如,元数据部分306可以存储在例如通过存储设备控制器118进行的错误检测和纠错期间所使用的奇偶校验位和/或循环冗余校验(crc)位。作为另一示例,元数据部分306可以存储指示片203已被写入的次数的写入循环计数。

图4示出了根据一些实施例的描绘存储器单元阈值电压分布402(即,402a-d)与对应的分界电压404(即,404a-d)的曲线图400。水平轴描绘了阵列的存储器单元的阈值电压,而垂直轴描绘了位计数(即,存储器单元的数量)。因此,分布402的每个点表示具有特定阈值电压的单元数量。曲线图400假设阵列的一半的位处于置位状态(即,具有低于对应vdm的阈值电压),且一半的位处于复位状态(即,具有高于对应vdm的阈值电压)。

分布402a表示基准分布,且对应的vdm404a表示当存储器单元遵循基准分布时可使用的基准vdm(例如,这可以是当单元相对新时所使用的vdm)。随着对存储器单元执行的写入次数增加,处于置位状态和复位状态的单元的阈值电压会降低。因此,在已经发生了特定数量的写入循环之后,基准分布402a可在曲线图中向左移。因此,(假设阵列的单元中写入循环的相对均等的分布)分布402b表示在已经执行了第一数量的写入循环之后存储器单元的分布,分布402c表示在已经执行了第二数量的写入循环之后的存储器单元的分布(其中第二数量高于第一数量),分布402d表示在已经执行了第三数量的写入循环之后存储器单元的分布(其中第三数量高于第二数量)。

如果维持基准vdm404a,即使在阈值电压的分布已经向左移后,则会导致读取错误,因为处于复位状态(在曲线图右侧示出)的单元会被错误地感测为处于置位状态。读取错误的数量会随着写入循环计数上升并且分布进一步向左移而增加。因此,当将基准vdm404a与分布402d的右侧进行比较时错误数量更突显,但是当将基准vdm404a与分布402c的右侧进行比较时错误仍显著,并且如果处于复位状态的单元的分布的尾部足够长,则当对于展示出分布402b的阵列使用vdm404a时,仍会发生读取错误。

在本公开的各个实施例中,在读取操作期间所施加的vdm可基于指示对一组单元执行的写入循环数量的一个或多个循环计数度量来调节。例如,在特定循环计数度量超过对应阈值之后,可以施加vdm404b而不是vdm404a,在循环计数度量超过第二阈值之后,可以施加vdm404c,并且在循环计数度量超过第三阈值之后,可以施加vdm404d。这样的实施例可以减少遇到的读取错误的量,同时延长存储器单元的使用寿命。

在各种实施例中,一些读取操作会涉及施加多个vdm。例如,在读取操作期间,第一vdm可施加到一组单元中的每个单元,并且单元的状态被感测。如果感测操作成功(例如,在读取数据中检测到的错误数可由ecc引擎纠正),则完成读取操作。然而,如果感测操作不成功,则可以施加第二vdm(其通常高于第一vdm),并且可以再次感测单元。如果该感测操作不成功,则可以施加第三vdm(其通常高于第二vdm),并且可以再次感测单元。在读取操作期间,可以施加任何适当数量的vdm。在一些实施例中,如果施加的任何vdm均没有导致成功读取,则可以执行数据恢复程序以试图恢复在单元中存储的数据,和/或可以视为读取是不成功的。

在各个实施例中,在读取操作期间施加的多个vdm(即,vdm集合)中的任何一个或多个可基于一个或多个循环计数度量来调节。例如,在特定实施例中,仅调节第一vdm。作为另一示例,调节第一vdm和第二vdm。作为另一示例,调节全部的vdm。当调节多个vdm时,它们可按相同的量或按不同的量来调节。在各种实施例中,vdm集合中的任何一个或多个vdm可以基于一个或多个循环计数度量按任何适合的量来调节。

在特定实施例中,在每芯片基础上分配vdm。例如,第一存储器芯片116可被分配第一vdm(或如上所述的vdm集合),第二存储器芯片116可被分配第二vdm(或第二vdm集合),等等。分配给芯片的vdm可以用作针对对存储器芯片116的任何分区执行的全部读取的vdm。可以独立地调节芯片的vdm。例如,可以调节第一存储器芯片116的vdm,而不影响第二存储器芯片116的vdm。

在其它实施例中,可使用任何适合的粒度来分配vdm。例如,可以在每分区基础上分配vdm,其中每个vdm基于特定于相应分区的循环计数度量来调节。作为另一示例,可以在每存储设备级上分配vdm(即,存储器芯片116全部可使用相同的vdm)。该公开内容设想了用于vdm的任何适合的分配方案,但是下面的论述将侧重于每芯片分配方案。

图5示出了根据一些实施例的用于跟踪循环计数度量510且调节vdm的存储设备控制器118。在所描绘的实施例中,控制器118包括地址转换引擎120、程序控制逻辑124和存储器502,存储器可包括任何适合的易失性或非易失性存储器。程序控制逻辑包括ecc引擎504、crc引擎505、磨损均衡控制逻辑506和分界电压控制逻辑508。

ecc引擎504包括用于检测和纠正从存储设备106的各个分区122读取的数据中的错误的逻辑。在各种实施例中,当存储设备控制器118从主机设备(例如,cpu102)读取要被写入存储设备的数据时,ecc引擎504(或存储设备控制器118的其它适合的逻辑)可以将奇偶校验位添加到要被写入的数据。这些奇偶校验位然后连同数据一起被写入分区122的存储器阵列206中(例如,奇偶校验位可以被写入片302的元数据部分306,同时数据被写入片302的有效载荷部分304)。

在各种实施例中,当有效载荷数据从存储器阵列206读取时,数据可连同奇偶校验位一起被提供给ecc引擎504。ecc引擎504可以检查奇偶校验位以确定数据中是否存在错误。如果错误数超过ecc引擎纠正的能力(例如,错误高于阈值),则ecc引擎504可将错误视为不可纠正的。在这种情况下,读取可被重新发布,可尝试替代的纠错方案,并且读取可视为不成功,或者可以执行其它适合的动作。如果ecc将错误视为能纠正的,则ecc引擎可以尝试纠正错误(例如,通过基于奇偶校验位来操纵读取数据)。

crc引擎505可以执行任何适合的数据验证操作。在各个实施例中,当主机发送有效载荷数据的写入请求时,写入请求可以包括连同有效载荷数据一起被写入存储器单元的crc位。可替代地,crc引擎505可以基于crc算法根据数据来生成crc位,并且这些crc位可与数据一起被写入。在各种实施例中,当执行主机启动的读取时,与有效载荷数据相关联的crc位被读取且连同有效载荷数据一起被返回到存储设备控制器118。如上所述,有效载荷数据可以被传递到ecc引擎504以便用于纠错,并且结果随后可被传递给crc引擎505。crc引擎可以基于crc算法来处理数据并且确定结果是否匹配与数据相关联的crc位。如果结果匹配,则数据随后被返回给主机。如果结果不匹配,则读取可重试,可将错误报告给主机,或者可以执行其它适合的动作。

磨损均衡控制逻辑506可以包括用于跟踪与存储设备106的各组存储器单元已被写入的次数有关的统计数据的逻辑。在特定实施例中,磨损均衡控制逻辑506可以更新存储器单元组(例如,片302)的写入循环计数,并且使得更新的写入循环计数被写入片中。例如,磨损均衡控制逻辑可以跟踪存储设备106的分区122的各个片的写入循环计数,其中片可具有任何适当大小的有效载荷数据,例如1kib、2kib、4kib、8kib或其它适合大大小。在各种实施例中,磨损均衡控制逻辑506可以基于写入循环计数来跟踪任何适合的度量。

在各种实施例中,磨损均衡控制逻辑506可以基于写入循环计数和/或从中导出的度量来在存储设备的各个存储器阵列206中分布写入请求,从而避免对任何特定阵列206(或其部分)的不相称数量的写入。磨损均衡控制逻辑506可以确定特定数据要存储的位置并且将位置传送到地址转换引擎120而使得当主机请求数据时可以定位到数据。

分界电压(vdm)控制逻辑508生成和/或监视各种循环计数度量510并且基于循环计数度量来确定是否调节一个或多个vdm。在各种实施例中,这可以包括读取与片(或其它单元的群组)相关联的一个或多个写入循环计数和/或随着从主机接收到写入请求而动态地计算度量。循环计数度量可以包括基于一组或多组单元(例如,一个或多个片、阵列、分区或芯片的单元)已经被写入的次数的任何适合的度量。在所描绘的实施例中,vdm控制逻辑508跟踪每个存储器芯片116的一个或多个循环计数度量510(但是在其它实施例中,可针对任何适合的存储器单元的群组来跟踪循环计数度量)。这些循环计数度量510可以存储在存储器502中。在所描绘的实施例中,存储器502存储存储器芯片116a-116n的每个存储器芯片的一个或多个循环计数度量。

在特定实施例中,循环计数度量是多个片(或其它组)的存储器单元(例如,特定存储器芯片116的全部片或其采样部分)的写入循环计数的分布(或近似分布)的点。作为示例,循环计数度量可以是距离多个写入循环计数的均值(μ)的标准差(σ)的数量。例如,在特定实施例中,循环计数度量是写入循环计数的分布的μ-3σ点(例如,小于分布的写入循环计数的大概99.9%的写入循环计数)。在其它实施例中,循环计数度量可以是分布的任何其它点,诸如μ-2σ,μ-σ,μ(即,均值),μ+σ,μ+2σ,μ+3σ或分布上的其它适合的点。在各种实施例中,循环计数度量基于分布的近似。例如,可以对1000个写入循环计数进行采样,并且可以将次最低的写入循环计数用作为整个芯片的μ-3σ点的近似。在各个实施例中,被执行以确定一个或多个循环计数度量的采样(例如,写入循环计数的采样)可以是由磨损均衡控制逻辑506在磨损均衡执行期间所执行的采样。

在特定实施例中,循环计数度量可以是多个写入循环计数的最大写入循环计数(例如,特定存储器芯片116的全部片的最大写入循环计数)、最小写入循环计数或基于对一组或多组存储器单元执行的写入数的其它适合的度量。

vdm控制逻辑508可以监视循环计数度量510并且基于循环计数度量来调节vdm电压。在特定实施例中,vdm控制逻辑508可以将存储器芯片116的循环计数度量与存储在表512中的关联的阈值进行比较。当存储器芯片116a的循环计数度量超过阈值时,vdm控制逻辑508可以使得存储器芯片116a的vdm下调到与表512中的阈值相关联的调节后vdm。例如,当循环计数度量超过阈值a(thresholda)时,可以将芯片的vdm设定成调节后的vdma。随后当循环计数度量超过阈值b(thresholdb)时,芯片的vdm可以设定成调节后的vdmb(其低于vdma)。当超过附加的阈值时,芯片的vdm可以相应地下调。在各个实施例中,相同的阈值用于每个存储器芯片116的循环计数度量,但是在其它实施例中,可针对每个芯片定制阈值。

作为示例,基准vdm可用于芯片,直至特定存储器芯片的片的μ-3σ写入循环计数达到30,000写入的第一阈值。此时,芯片的vdm可下调150mv。当存储器芯片的片的μ-3σ写入循环计数达到90,000写入的第二阈值时,vdm可以下调另外的150mv。作为示例,对于每个越过的阈值,电压调节可以在10mv与500mv之间。

在其它实施例中,可通过任何其它适合的方式来调节vdm。例如,可以通过确定一个或多个循环计数度量并且基于循环计数度量来调节vdm,周期性地调节vdm。作为一个示例,vdm可以基于任何适合的等式来周期性地确定,诸如vdm调节后=vdm基准-max(0,k*(logn(循环计数度量)-j)),其中k和j可以是任何适合的常数,且n可以是任何适合的基数(例如,1.5与4之间的值)。芯片的vdm可以以任何适合的间隔来更新(例如,在自上次更新已经经过了特定量的时间或已经对存储设备106执行了一定数量的写入循环之后,或任何其它适合的间隔)。

在各个实施例中,存储器芯片116的vdm可基于与存储器芯片116相关联的多个循环计数度量来调节。例如,每个循环计数度量可以与阈值相关联。在特定实施例中,如果这些阈值中的任何一个被其相应的循环计数度量越过,则可调节vdm到与阈值相关联的新vdm。作为示例,当最大写入循环计数超过了关联阈值或μ-3σ写入循环计数超过阈值时,可以调节vdm(即,第一度量超过其关联阈值会触发vdm的调节)。在替代实施例中,当多个阈值中的每个阈值被其相应的循环计数度量越过时,调节vdm。

在各个实施例中,可以基于一个或多个循环计数度量来调节存储器芯片116的vdm集合的多个vdm。vdm集合可以包括在读取操作期间施加的不同值的两个或更多个vdm,其中由于在vdm中的一个(或多个)施加期间的感测故障,施加多个vdm。作为示例,当阈值被循环计数度量超过时,可调节存储器芯片的vdm集合中的两个或更多个vdm。作为另一示例,当周期性地更新vdm时,vdm集合中的两个或更多个vdm一起更新。在特定实施例中,用于存储器芯片的vdm集合包括三个vdm,并且将两个最低值的vdm一起调节,而不调节第三vdm(即,最高值vdm)(例如,如果目标单元的阈值电压自置位来已经升高,则提供精确的结果)。

在特定实施例中,当调节vdm集合中的多个vdm时,所调节的vdm集合中的vdm可调节相同的量。在替代实施例中,vdm集合中的vdm可各自调节不同的量。

在各个实施例中,当vdm(或vdm集合中的多个vdm)要被调节时,vdm控制逻辑508可以使得存储设备控制器118向要改变其vdm的存储器芯片116的芯片控制器126发送请求。该请求可以包括vdm的新值的标识。vdm的调节后的值可以按任何适合的方式来表达,诸如与基准vdm的偏移量或vdm的实际值。

在各种实施例中,在电力循环后恢复调节后的vdm。例如,调节后的vdm可以存储在存储设备控制器118或芯片控制器126的非易失性存储器中。作为另一示例,循环计数度量可以在电力循环后由存储设备控制器118重新计算且发送给芯片控制器126。

图6示出了根据一些实施例的基于一个或多个循环计数度量来调节一个或多个vdm的示例流程。在602处,使用分配的vdm对存储器芯片执行读取操作。例如,当芯片具有相对低数量的写入循环时,可以在读取操作期间使用基准vdm。在一些实施例中,可以在读取操作期间使用多个vdm(即,基准vdm集合)。

在604处,针对芯片跟踪一个或多个循环计数度量。在606处,对是否已越过与循环计数度量相关联的阈值做出判定。如果没有越过任何循环计数阈值,则使用相同的vdm在602处恢复读取操作。如果在606处循环计数度量阈值被越过,则调节芯片的一个或多个vdm。然后,在602处调节后的vdm用于执行附加的读取操作。

图6中的所描述的流程仅表示可以在特定实施例中发生的操作。在其它实施例中,可以由系统100的组件执行附加操作。本公开的各个实施例设想了用于实现本文所描述的功能的任何适合的信令机制。图6中所示的操作中的一些可适当地重复、组合、修改或删除。另外,可以按任何适合的顺序来执行操作,而不偏离特定实施例的范围。

设计可以经历各种阶段,从创建到模拟到制造。表示设计的数据可以多种方式来表示设计。首先,如模拟中有用的,硬件可使用硬件描述语言(hdl)或另一功能描述语言来表示。另外,可以在设计过程的某些阶段产生具有逻辑和/或晶体管栅极的电路级模型。此外,大多数设计在某个阶段达到表示硬件模型中的各种器件的物理放置的数据级别。在使用常规的半导体制作技术的情况下,表示硬件模型的数据可以是指定用于制造集成电路的掩模在不同掩模层上存在或不存在各种特征的数据。在一些实现方式中,这样的数据可以以诸如图形数据系统ii(gdsii)、开放原图系统互换标准(oasis)或类似格式等数据库文件格式来存储。

在一些实现方式中,基于软件的硬件模型和hdl以及其它功能描述语言对象可以包括寄存器传输语言(rtl)文件以及其它示例。这样的对象可以是机器可解析的,使得设计工具可以接受hdl对象(或模型),解析hdl对象的所描述硬件的属性,并且根据对象来确定物理电路和/或片上布局。设计工具的输出可以用于制造物理设备。例如,设计工具可以根据hdl对象来确定各种硬件和/或固件元件的配置,诸如总线宽度、寄存器(包括尺寸和类型)、存储器块、物理链路路径、结构拓扑以及将实现以便实现hdl对象中建模的系统的其它属性。设计工具可以包括用于确定片上系统(soc)和其它硬件设备的拓扑和结构配置的工具。在一些实例中,hdl对象能够用作制造装备用来制造所描述硬件的开发模型和设计文件的基础。事实上,hdl对象本身可被提供作为导致上述硬件的制造系统软件的输入。

在设计的任何表示中,数据可以存储在任何形式的机器可读介质中。存储器或诸如盘的磁或光存储装置可以是机器可读介质,用于存储经由调制或以其他方式生成以发送这样的信息的光波或电波发送的信息。当指示或携带代码或设计的电载波被发送时,在电信号的复制、缓冲或重新发送被执行的意义上,制作新的副本。因此,通信提供商或网络提供商可以将体现本公开的实施例的技术的诸如编码到载波中的信息的制品至少临时存储在有形的机器可读介质上。

本文所使用的模块是指硬件、软件和/或固件的任意组合。作为示例,模块包括硬件,诸如微控制器,与存储适于由微控制器执行的代码的非暂时介质相关联。因此,在一个实施例中对模块的引用是指特别配置成识别和/或执行要保持在非暂时介质上的代码的硬件。此外,在另一实施例中,模块的使用是指包括特别适于由微控制器执行以实施预定操作的代码的非暂时介质。并且,如可推断的,在又一实施例中,术语模块(在该示例中)可以是指微控制器和非暂时介质的组合。通常,图示为单独的模块界限通常变化并且可能重叠。例如,第一模块和第二模块可以共用硬件、软件、固件或其组合,同时可能保留一些独立的硬件、软件或固件。在一个实施例中,术语逻辑的使用包括硬件,诸如晶体管、寄存器或其它硬件,如可编程逻辑器件。

逻辑可用于实现各种组件的功能中的任何功能,诸如cpu102、外部i/o控制器104、处理器108、核心114a和114b、i/o控制器110、cpu存储器控制器112、存储设备106、系统存储器设备107、存储器芯片116、存储设备控制器118、地址转换引擎、存储器分区122、程序控制逻辑124、芯片控制器126、存储器分区控制器210、字线控制逻辑214、位线控制逻辑216、存储器502、ecc引擎504、crc引擎505、磨损均衡控制逻辑506、分界电压控制逻辑508或本文所描述的其它实体或组件或这些中的任何一个的子组件。“逻辑”可以是指执行一个或多个功能的硬件、固件、软件和/或每个的组合。在各个实施例中,逻辑可以包括能够操作用于执行软件指令的微处理器或其它处理元件、诸如专用集成电路(asic)的离散逻辑、诸如现场可编程门阵列(fpga)的编程逻辑器件、包含指令的存储设备、逻辑设备的组合(例如,如会在印刷电路板上所见的)或其它适合的硬件和/或软件。逻辑可以包括一个或多个门或其它电路组件。在一些实施例中,逻辑还可以完全体现为软件。软件可以体现为软件包、代码、指令、指令集和/或记录在非暂时计算机可读存储介质上的数据。固件可以体现为代码、指令或指令集和/或在存储设备中硬编码(例如,非易失性)的数据。

在一个实施例中,措辞“用于”或“被配置为”的使用是指布置,放在一起,制造,提供以售卖,进口和/或设计执行指定或确定的任务的装置、硬件、逻辑或元件。在该示例中,没有进行操作的装置或其元件仍‘被配置为’执行指定任务,如果其被设计、耦合和/或互连来执行所述指定任务。纯粹作为说明性的示例,逻辑门可以在操作期间提供0或1。但是‘被配置为’提供使能信号到时钟的逻辑门不包括可提供1或0的每一个可能的逻辑门。相反,该逻辑门是以在操作期间1或0输出用于使能时钟的某种方式耦合的逻辑门。再次注意到,术语‘被配置为’的使用不要求操作,而是侧重于装置、硬件和/或元件的潜在状态,其中在潜在状态下,装置、硬件和/或元件设计成当装置、硬件和/或元件正在操作时执行特定任务。

此外,在一个实施例中措辞“能够/能”和/或“能操作”的使用是指以这样的方式设计某种装置、逻辑、硬件和/或元件以使能按指定方式使用装置、逻辑、硬件和/或元件。如上文所提到的,在一个实施例中,用于、能够或能操作的使用是指装置、逻辑、硬件和/或元件的潜在状态,其中装置、逻辑、硬件和/或元件非正在操作,但是以这样的方式被设计成使得能够以指定方式使用装置。

如本文所使用的,值包括数字、状态、逻辑状态或二进制逻辑状态的任何已知表示。通常,逻辑电平、逻辑值或逻辑上的值的使用还指为1的和0的,简单地表示二进制逻辑状态。例如,1是指高逻辑电平,0是指低逻辑电平。在一个实施例中,诸如晶体管或闪存单元的存储单元能够保持单个逻辑上的值或多个逻辑上的值。然而,已经使用计算机系统中值的其它表示。例如,十进制数十还可以表示为二进制值1010和十六进制字母a。因此,值包括能够保存在计算机系统中的信息的任何表示。

此外,状态可由值或值的部分表示。作为示例,诸如逻辑1的第一值可以表示默认或初始状态,而诸如逻辑0的第二值可以表示非默认值。另外,在一个实施例中,术语复位和置位分别是指默认值或状态和更新值或状态。例如,默认值可能包括高逻辑值,即复位,而更新的值可能包括低逻辑值,即置位。注意,值的任何组合可用于表示任意数量的状态。

上文所阐述的方法、硬件、软件、固件或代码的实施例可以经由存储在机器可访问、机器可读、计算机可访问或计算机可读介质上的、能够由处理元件执行的指令或代码来实现。非暂时性机器可访问/可读介质包括提供(即,存储和/或发送)诸如计算机或电子系统的机器能够读取的形式的信息的任何机制。例如,非暂时性机器可访问介质包括随机存取存储器(ram),如静态ram(sram)或动态ram(dram);rom;磁或光存储介质;闪存设备;电存储设备;光存储设备;声存储设备;其它形式用于保存从暂时(传播)信号(例如,载波、红外信号、数字信号)接收到的信息的存储设备;等等,这些区别于可从其接收信息的非暂时性介质。

用于对逻辑进行编程以执行本公开的实施例的指令可以存储在系统中的存储器内,诸如dram、高速缓存、闪速存储器或其它存储装置。此外,指令可以经由网络或通过其它计算机可读介质来分发。因此,机器可读介质可以包括用于以机器(例如,计算机)可读形式存储或发送信息的任何机制,但不限于软盘、光盘、压缩盘、只读存储器(cd-rom)和磁光盘、只读存储器(rom)、随机存取存储器(ram)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、磁卡或光卡、闪速存储器或用于经由电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)通过因特网传输信息的有形的机器可读存储装置。因此,计算机可读介质包括适合于存储或发送机器(例如,计算机)可读形式的电子指令或信息的任何类型的有形机器可读介质。

在至少一个实施例中,装置包括:第一存储器阵列,第一存储器阵列包括多个相变存储器(pcm)单元;以及控制器,至少部分地基于对第一存储器阵列的至少一部分执行的写入次数来跟踪第一循环计数度量;以及基于第一循环计数度量来调节在对第一存储器阵列的pcm单元执行的读取操作期间施加的分界电压。

在实施例中,一种装置用于至少部分地基于对包括第二多个pcm单元的第二存储器阵列的至少一部分执行的写入次数来跟踪第二循环计数度量,其中第一存储器芯片包括第一存储器阵列,并且第二存储器芯片包括第二存储器阵列;以及基于第二循环计数度量来调节在对第二存储器阵列的pcm单元执行的读取操作期间施加的分界电压。在实施例中,在对半导体芯片的多个存储器阵列的pcm单元执行的读取操作期间施加调节后的分界电压。在实施例中,一种装置用于基于第一循环计数度量来调节在对第一存储器阵列的pcm单元执行的读取操作期间施加的多个分界电压。在实施例中,响应于确定第一循环计数度量已超过阈值而调节分界电压。在实施例中,第一循环计数度量是多组pcm单元的写入循环计数的分布的μ-3σ写入循环计数。在实施例中,第一循环计数度量是多组pcm单元的写入循环计数的平均值。在实施例中,第一循环计数度量是多组pcm单元的最大写入循环计数。在实施例中,一种装置用于至少部分地基于对第一存储器阵列的至少一部分执行的写入次数来跟踪第二循环计数度量;并且基于第二循环计数度量来调节在对第一存储器阵列的pcm单元执行的读取操作期间施加的分界电压。在实施例中,一种装置用于从控制器跟踪的信息来导出至少一个循环计数度量来执行多个存储器阵列中的磨损均衡。在实施例中,第一循环计数度量基于第一存储器阵列的pcm单元构成的片的写入循环计数,其中写入循环计数存储在片中。

在至少一个实施例中,一种方法包括至少部分地基于对包括多个存储器单元的第一存储器阵列的至少一部分执行的写入次数来跟踪第一循环计数度量;以及基于第一循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的分界电压。

在实施例中,一种方法还包括:至少部分地基于对包括存储器单元的第二存储器阵列的至少一部分执行的写入次数来跟踪第二循环计数度量,其中第一存储器芯片包括第一存储器阵列,并且第二存储器芯片包括第二存储器阵列;以及基于第二循环计数度量来调节在对第二存储器阵列的存储器单元执行的读取操作期间施加的分界电压。在实施例中,一种方法还包括:在对半导体芯片的多个存储器阵列的存储器单元执行的读取操作期间施加调节后的分界电压。在实施例中,一种方法还包括:基于第一循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的多个分界电压。在实施例中,一种方法还包括:响应于确定第一循环计数度量已超过阈值而调节分界电压。在实施例中,第一循环计数度量是多组存储器单元的写入循环计数的分布的μ-3σ写入循环计数。在实施例中,第一循环计数度量是多组存储器单元的写入循环计数的平均值。在实施例中,第一循环计数度量是多组存储器单元的最大写入循环计数。在实施例中,一种方法还包括至少部分地基于对第一存储器阵列的至少一部分执行的写入次数来跟踪第二循环计数度量;以及基于第二循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的分界电压。在实施例中,一种方法还包括从控制器跟踪的信息导出至少一个循环计数度量以执行多个存储器阵列中的磨损均衡。在实施例中,第一循环计数度量基于第一存储器阵列的存储器单元构成的片的写入循环计数,其中写入循环计数存储在片中。

在至少一个实施例中,非暂时性机器可读存储介质包括存储在其上的指令,该指令在由机器执行时致使机器至少部分地基于对包括存储器单元的第一存储器阵列的至少一部分执行的写入次数来跟踪第一循环计数度量;以及基于第一循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的分界电压。

在实施例中,在被执行时指令致使机器至少部分地基于对包括存储器单元的第二存储器阵列的至少一部分执行的写入次数来跟踪第二循环计数度量,其中第一存储器芯片包括第一存储器阵列,第二存储器芯片包括第二存储器阵列;以及基于第二循环计数度量来调节对第二存储器阵列的存储器单元执行的读取操作期间施加的分界电压。在实施例中,调节后的分界电压要在对半导体芯片的多个存储器阵列的存储器单元执行的读取操作期间施加。在实施例中,在被执行时指令致使机器基于第一循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的多个分界电压。

在至少一个实施例中,一种系统包括:用于至少部分地基于对包括多个存储器单元的第一存储器阵列的至少一部分执行的写入次数来跟踪第一循环计数度量的单元;以及用于基于第一循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的分界电压的单元。

在实施例中,一种系统包括:用于至少部分地基于对包括存储器单元的第二存储器阵列的至少一部分执行的写入次数来跟踪第二循环计数度量的单元,其中第一存储器芯片包括第一存储器阵列,第二存储器芯片包括第二存储器阵列;以及用于基于第二循环计数度量来调节在对第二存储器阵列的存储器单元执行的读取操作期间施加的分界电压的单元。在实施例中,一种系统包括用于在对存储器芯片的多个存储器阵列的存储器单元执行的读取操作期间施加调节后的分界电压的单元。在实施例中,一种系统包括用于基于第一循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的多个分界电压的单元。

在至少一个实施例中,一种系统包括控制器,用于至少部分地基于对包括多个存储器单元的存储器阵列的至少一部分执行的写入次数来跟踪第一循环计数度量;以及基于第一循环计数度量来调节在对第一存储器阵列的存储器单元执行的读取操作期间施加的分界电压。

在实施例中,一种系统还包括存储器阵列。在实施例中,一种系统还包括主机设备的中央处理单元,中央处理单元发送读命令到控制器。在实施例中,一种系统还包括与中央处理单元可通信地耦合的电池、与中央处理单元可通信地耦合的显示器或与中央处理单元可通信地耦合的网络接口。

在本说明书通篇提到“一个实施例”或“实施例”是指结合该实施例描述的特定的特征、结构或特性包括在本公开的至少一个实施例中。因此,在本说明书通篇各处出现的措辞“在一个实施例中”或“在实施例中”不一定都指同一实施例。此外,特定的特征、结构或特性可以任何适合的方式组合在一个或多个实施例中。

在前面的说明书中,已经参考具体的示例性实施例进行了详细说明。然而,将显而易见的是,可以对其进行各种修改和改变,而不偏离如随附权利要求中阐述的本公开的更宽泛的精神和范围。说明书和附图因此应在说明性的意义而非限制性的意义上考虑。此外,前面对实施例和其它示范性语言的使用不一定是指同一实施例或同一示例,但是可以指不同和独特的实施例以及可能同一实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1