1.本公开的实施例总体上涉及存储器子系统,且更确切地说,涉及使用错误率随时间变化的存储器的边界错误统计数据的自适应读取电压调整。
背景技术:2.存储器子系统可以是存储系统、存储器模块或存储装置和存储器模块的混合物。存储器子系统可包含一或多个存储数据的存储器组件。存储器组件可以是例如非易失性存储器组件和易失性存储器组件。一般来说,主机系统可使用存储器子系统将数据存储于存储器组件处并从存储器组件检索数据。
附图说明
3.根据下文提供的详细描述和本公开的各种实施例的附图将更加全面地理解本公开。
4.图1示出根据本公开的一些实施例的包含存储器子系统的实例计算环境。
5.图2是根据本公开的一些实施例的基于错误率随时间变化的存储器的经累积边界rber统计数据调整读取电压电平的实例方法的流程图。
6.图3a是根据本公开的一些实施例的示出针对三个读取电压电平随写读延迟(write-to-read delay)而变的位错误率的图。
7.图3b是根据本公开的一些实施例的示出错误率随时间变化的存储器的经累积边界原始位错误率统计数据的图。
8.图4是根据本公开的一些实施例的在写读延迟时间范围的边界处确定一组写读延迟时间的错误率的实例方法的流程图。
9.图5是根据本公开的一些实施例的基于边界错误统计数据使用动态调整的读取电压电平执行读取操作的实例方法的流程图。
10.图6是根据本公开的一些实施例的基于错误率随时间变化的存储器的经累积方向rber统计数据调整读取电压电平的实例方法的流程图。
11.图7是根据本公开的一些实施例的示出错误率随时间变化的存储器的经累积方向原始位错误率统计数据的图。
12.图8是根据本公开的一些实施例的确定写读延迟时间范围中的一组写读延迟时间的方向错误率的实例方法的流程图。
13.图9是根据本公开的一些实施例的基于方向错误统计数据使用动态调整的读取电压电平执行读取操作的实例方法的流程图。
14.图10是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
15.本公开的各方面是针对存储器子系统中的错误率随时间变化的存储器的自适应读取电压调整。存储器子系统可以是存储装置、存储器模块或存储装置和存储器模块的混合物。存储装置和存储器模块的实例在下文结合图1描述。一般来说,主机系统可使用包含一或多个存储器组件的存储器子系统。主机系统可提供要存储在存储器子系统处的数据,并且可请求要从存储器子系统检索的数据。
16.存储器子系统可包含多个可存储来自主机系统的数据的存储器组件。取决于实施方案,每个存储器组件可包含相同或不同类型的媒体。媒体的实例包含但不限于非易失性存储器的交叉点阵列,及基于快闪的存储器,例如单层级单元(slc)存储器、多层级单元(mlc)存储器、三层级单元(tlc)存储器或四层级单元(qlc)存储器。不同类型的媒体的特性可不同。与存储器组件相关联的特性的一个实例是数据密度。数据密度对应于可以存储在存储器组件的每一存储器单元中的数据量(例如,数据位)。使用基于快闪的存储器的实例,qlc存储器可存储四个数据位,而slc存储器可存储一个数据位。相应地,包含qlc存储器单元的存储器组件将具有高于包含slc存储器单元的存储器组件的数据密度。存储器组件的特性的另一实例是存取速度。存取速度对应于存储器组件存取存储在存储器组件处的数据的时间量。
17.存储器组件的其它特性可与存储器组件存储数据的耐久性相关联。当数据写入到存储器组件的存储器单元和/或从其擦除时,存储器单元可能会在一定程度上受损。当存储器单元上执行的写入操作和/或擦除操作的数目增加时,存储在存储器单元处的数据包含错误的概率增加,并且存储器单元受损得越来越厉害。与存储器组件的耐久性相关联的特性是存储器组件的存储器单元上执行的写入操作的数目或编程/擦除操作的数目。不断增加的读取和写入操作的数目可导致存储在存储器单元处的数据具有较高错误率。这可能会增加错误恢复操作的使用,这些操作包含但不限于读取重试(即,再次感测存储器组件)和raid(独立磁盘冗余阵列)以用于存储器单元上执行的后续数据操作(例如,读取和/或写入)。增加的错误恢复操作的使用可导致常规存储器子系统的性能下降。另外,当存储器单元或数据块的错误率继续增加时,它甚至可能会超出存储器子系统的错误恢复能力,导致丢失的数据不可修复。此外,因为存储器子系统有更多资源用于执行错误恢复操作,所以可用于执行其它读取操作或写入操作的资源变少。
18.因此,在数据块上执行阈值数目的读取和/或写入操作后,存储器子系统可执行数据完整性检查(在本文中也被称为“扫描”),以验证存储在数据块处的数据保持处于适当的可靠性水平。在数据完整性检查期间,调用一系列读取和/或写入操作,并确定存储在数据块处的数据的一或多个可靠性统计数据。可靠性统计数据的一个实例是原始位错误率(rber)。rber可以定义为错误位的数目与存储在数据块中的所有数据位的数目的比率。
19.对于特定存储器类型(即,对于采用特定类型的存储媒体的存储器子系统),错误率可随时间推移而变化。具体地说,一些非易失性存储器(例如,nand、相变等)的阈值电压(vt)分布随时间推移而移动。在给定读取电平(即,作为读取操作的部分而施加到存储器单元的电压)下,如果vt分布移动,那么rber也可能会受影响。对于某一时刻的任何vt分布,可存在最大限度地减小预期rber的最优读取电平(或读取电平范围)。具体地说,vt分布和rber可以是写读(w2r)延迟(即,数据写入到存储器组件的时间和数据从存储器组件读取的
时间之间的时间周期)的函数。由于rber的这一时变性质以及存储器中的其它噪声机制,单个读取电平可能不足以实现满足特定系统可靠性目标的错误率。因此,特定存储器子系统可具有数个预编程读取电压电平,每个读取电压电平对应于不同w2r延迟时间范围。例如,第一读取电压电平可用于读取w2r延迟时间处于第一对应范围的数据,而第二读取电压电平可用于读取w2r延迟时间处于第二对应范围的数据,以此类推。
20.在许多常规存储器子系统中,用于每个w2r延迟时间范围的读取电压电平经预编程,且在使用基础存储器组件期间从不调整。这些预编程读取电压电平在制造期间可能未设置为最优值,或者在存储器组件的使用寿命期间可能未保持最优,从而导致错误率增加。例如,vt分布可能会不断受到自身或相邻单元的干扰、电路系统噪声、温度等的影响,这意味着最优读取电压也应相应改变。由于存储器单元上的磨损和存储器单元的物理和/或电特性的变化,最优读取电压也可能随时间推移而逐渐移动。使用次优读取电压电平可能导致部分写入效应、rber增加和高读取重试触发率。这可能导致存储器子系统的性能降低,以及存储器子系统的功耗增加。系统带宽和其它资源也可能被占用较长时间,从而阻止将这些资源用于其它功能。
21.本公开的各方面通过使用基于错误率随时间变化的存储器的经累积边界rber统计数据的自适应运行中读取电压调整方案来解决以上和其它缺陷。在一个实施方案中,存储器子系统识别存储器组件的多个写读延迟范围中的第一范围,其中第一范围表示多个写读延迟时间,且其相关联的读取电压电平用于对具有处于第一范围的写读延迟时间的存储器组件的片段执行读取操作。存储器子系统进一步识别第一范围的第一端(即,第一边界)处的第一组多个写读延迟时间和第一范围的第二端(即,第二边界)处的第二组多个写读延迟时间,并确定存储器组件的对应于第一组写读延迟时间的第一错误率和存储器组件的对应于第二组写读延迟时间的第二错误率。存储器子系统确定第一错误率和第二错误率之间的对应关系(例如,第一错误率与第二错误率的比率、第一错误率和第二错误率之间的差等)是否满足第一阈值准则,所述第一阈值准则例如可以基于存储器子系统的所需可靠性和性能特性。如果第一错误率和第二错误率之间的对应关系满足第一阈值准则,那么存储器子系统可将读取电压电平维持在当前电平。替代地,响应于第一错误率和第二错误率之间的对应关系不满足第一阈值准则,存储器子系统可根据需要修改与第一范围相关联的读取电压电平。
22.本文中所描述的读取电压调整方案允许调整制造修整值,这些修整值可能最初设置为次优,也可能随着时间的推移变为次优。调整用于不同w2r延迟时间范围的读取电压电平可以最小化各种干扰对存储器组件的有害影响,并降低读取重试触发率,从而提高存储器子系统中的吞吐量和时延。此外,读取电压调整可以减小部分写入效应,并降低存储器子系统无法满足主机系统可靠性目标的风险。最后,减小rber可以提高性能,降低与错误校正/恢复操作相关联的功耗,并为其它功能释放系统资源。存储器控制器用于执行错误恢复操作的时间可以更少,从而允许控制器有更多时间处理存储器组件的其它数据存取操作。
23.图1示出根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如存储器组件112a到112n。存储器组件112a到112n可以是易失性存储器组件、非易失性存储器组件或它们的组合。存储器子系统110可以是存储装置、存储器模块或存储装置和存储器模块的混合物。存储装置的实例包含固态驱动器
(ssd)、快闪驱动器、通用串行总线(usb)快闪驱动器、嵌入式多媒体控制器(emmc)驱动器、通用快闪存储(ufs)驱动器和硬盘驱动器(hdd)。存储器模块的实例包含双列直插式存储器模块(dimm)、小型dimm(so-dimm)和非易失性双列直插式存储器模块(nvdimm)。
24.计算环境100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1示出耦合到一个存储器子系统110的主机系统120的一个实例。主机系统120使用存储器子系统110以例如将数据写入到存储器子系统110和从存储器子系统110读取数据。如本文所使用,“耦合到”大体上是指组件之间的连接,连接可为间接通信连接或直接通信连接(例如,无中间组件),无论是有线的还是无线的,包含例如电学、光学、磁性等连接。
25.主机系统120可以是计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、嵌入式计算机(例如,包含在车辆、工业设备或联网商业装置中),或包含存储器和处理装置的计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文中所使用,“耦合到”大体上是指组件之间的连接,连接可为间接通信连接或直接通信连接(例如,无中间组件),无论是有线的还是无线的,包含例如电学、光学、磁性等连接。物理主机接口的实例包含但不限于串行高级技术附件(sata)接口、外围组件互连高速(pcie)接口、通用串行总线(usb)接口、光纤通道、串行连接的scsi(sas)等。物理主机接口可用于在主机系统120和存储器子系统110之间传输数据。主机系统120可进一步使用nvm快速(nvme)接口以在存储器子系统110通过pcie接口与主机系统120耦合时存取存储器组件112a到112n。物理主机接口可提供用于在存储器子系统110和主机系统120之间传递控制、地址、数据和其它信号的接口。
26.存储器组件112a到112n可包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含与非(nand)型快闪存储器。存储器组件112a到112n中的每一个可包含一或多个存储器单元阵列,例如单层级单元(slc)或多层级单元(mlc)(例如,三层级单元(tlc)或四层级单元(qlc))。在一些实施例中,特定存储器组件可包含存储器单元的slc部分和mlc部分。每个存储器单元可存储供主机系统120使用的一或多个数据位(例如,数据块)。尽管描述了例如nand型快闪存储器的非易失性存储器组件,但是存储器组件112a到112n可以基于任何其它类型的存储器,例如易失性存储器。在一些实施例中,存储器组件112a到112n可以是但不限于随机存取存储器(ram)、只读存储器(rom)、动态随机存取存储器(dram)、同步动态随机存取存储器(sdram)、相变存储器(pcm)、磁性随机存取存储器(mram)、或非(nor)快闪存储器、电可擦除可编程只读存储器(eeprom)和非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,相比于许多基于快闪的存储器,交叉点非易失性存储器可执行原位写入操作,其中非易失性存储器单元可以在其先前未被擦除的情况下编程。此外,存储器组件112a到112n的存储器单元可以分组为存储器页或数据块,它们可以指用于存储数据的存储器组件的单元。数据块可以进一步分组为存储器组件112a到112n中的每一个上的一或多个平面,其中可以同时在每个平面上执行操作。来自不同平面的对应数据块可在条带中彼此相关联,而不是跨多个平面。
27.存储器系统控制器115(下文称为“控制器”)可与存储器组件112a到112n通信以执
行操作,例如在存储器组件112a到112n处读取数据、写入数据或擦除数据和其它这类操作。控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)等)或其它合适的处理器。控制器115可包含配置成执行存储在本地存储器119中的指令的处理器(处理装置)117。在所示出的实例中,控制器115的本地存储器119包含嵌入式存储器,其配置成存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流和例程的指令,包含处理存储器子系统110和主机系统120之间的通信。在一些实施例中,本地存储器119可包含存储存储器指标、所获取数据、计数器118等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(rom)。尽管图1中的实例存储器子系统110已被示出为包含控制器115,但是在本公开的另一个实施例中,存储器子系统110可能不包含控制器115,而是可以依赖于外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
28.一般来说,控制器115可从主机系统120接收命令或操作,并且可将命令或操作转换成指令或适当的命令,以实现对存储器组件112a到112n的所需存取。控制器115可以负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和纠错码(ecc)操作、加密操作、高速缓存操作和与存储器组件112a到112n相关联的逻辑块地址和物理块地址之间的地址转化。控制器115可进一步包含通过物理主机接口与主机系统120通信的主机接口电路系统。主机接口电路系统可将从主机系统接收的命令转换成存取存储器组件112a到112n的命令指令,并将与存储器组件112a到112n相关联的响应转换成主机系统120的信息。
29.存储器子系统110还可包含没有示出的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如,dram)和地址电路系统(例如,行解码器和列解码器),所述地址电路系统可从控制器115接收地址并对所述地址进行解码以存取存储器组件112a到112n。
30.存储器子系统110包含读取电压调整组件113,其可用于执行边界rber计算并调整存储器组件112a到112n的数据块的读取电压电平。在一个实施例中,读取电压调整组件113识别存储器组件(例如,存储器组件112a到112n中的一个)的多个写读延迟范围中的第一范围。第一范围表示多个写读(w2r)延迟时间,且其相关联的读取电压电平用于对具有处于第一范围的w2r延迟时间的存储器组件的片段执行读取操作。读取电压调整组件113可进一步识别第一范围的第一端(即,第一边界)处的第一组多个写读延迟时间和第一范围的第二端(即,第二边界)处的第二组多个写读延迟时间,并确定存储器组件的对应于第一组多个写读延迟时间的第一错误率和存储器组件的对应于第二组多个写读延迟时间的第二错误率。读取电压调整组件113可确定第一错误率和第二错误率之间的对应关系是否满足第一阈值准则,所述第一阈值准则例如可以基于存储器子系统的所需可靠性和性能特性。如果对应关系满足第一阈值准则,那么读取电压调整组件113可将读取电压电平维持在当前电平。但是,响应于第一错误率和第二错误率之间的对应关系不满足第一阈值准则,读取电压调整组件113可根据需要修改与第一范围相关联的读取电压电平,以便使对应关系(例如,比率)与由第一阈值准则限定的目标比率相差不超过阈值量。下文描述关于读取电压调整组件113的操作的其它细节。
31.图2是根据本公开的一些实施例的基于错误率随时间变化的存储器的经累积边界
rber统计数据调整读取电压电平的实例方法的流程图。方法200可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法200由图1的读取电压调整组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程次序可以修改。因此,所示实施例应理解为仅作为实例,且所示过程可以按照不同次序执行,并且一些过程可以并行执行。另外,在各种实施例中,一或多个过程可以省略。因此,并非所有过程在每个实施例中都是需要的。其它过程流是可能的。
32.在操作210处,处理逻辑识别存储器组件的多个写读延迟范围中的第一范围(例如,w2r范围310),其中第一范围表示多个写读延迟时间,且其相关联的读取电压电平(例如,读取电平1)用于对具有处于第一范围的写读延迟时间的存储器组件的片段执行读取操作,如图3a中所示。图3a是根据本公开的一些实施例的示出针对三个读取电压电平随写读(w2r)延迟而变的位错误率(ber)的图300。如本文所描述,vt分布可随时间推移而偏移。例如,对于给定读取电压电平,例如第一读取电压电平(标记为读取电平1),当使用此读取电压电平执行读取操作时所经历的位错误率可由于vt分布的移动而随时间改变。类似地,第二读取电压电平(标记为读取电平2)或第三读取电压电平(标记为读取电平3)的对应位错误率也随时间改变。在这些或其它情形中,vt分布和位错误率可以是w2r延迟的函数。图300示出所述三个读取电压电平中的每一个对应于不同w2r延迟时间范围,例如w2r范围310、w2r范围320和w2r范围330,这些范围可以是存储器子系统规范的设计目标。在其它实施例中,可存在任何其它数目的w2r延迟时间范围和相关联的读取电压电平。在图300中,显示使用指定读取电压电平执行的读取操作的测得ber。例如,ber曲线312表示针对在不同w2r延迟时间的片段上使用读取电平1执行的读取操作测得的ber,ber曲线322表示针对在不同w2r延迟时间的片段上使用读取电平2执行的读取操作测得的ber,且ber曲线332表示针对在不同w2r延迟时间的片段上使用读取电平3执行的读取操作测得的ber。根据图300,显而易见,使用读取电平1使得具有处于w2r范围310的w2r延迟时间的存储器组件的片段上执行的读取操作具有较低ber,使用读取电平2使得具有处于w2r范围320的w2r延迟时间的存储器组件的片段上执行的读取操作具有较低ber,且使用读取电平3使得具有处于w2r范围330的w2r延迟时间的存储器组件的片段上执行的读取操作具有较低ber。图300还示出对于单个读取电平(例如,读取电平2),ber在较低w2r延迟时间(即,w2r范围310)处并在较高w2r延迟时间(即,w2r范围330)处增加。读取电平1、读取电平2和读取电平3的值可以在存储器组件的制造期间设置,但是由于时间的流逝以及与存储器组件的使用相关联的其它因素,可能在某些时间点变为次优的。基于经累积边界rber统计数据调整读取电压电平可使那些读取电压电平回到ber被优化(或至少减小)用于对应w2r延迟时间范围的点。
33.再次参考图2,在操作220处,处理逻辑识别第一范围(即,w2r范围310)的第一端(即,边界)处的第一组314多个写读延迟时间和第一范围的第二端(即,边界)处的第二组316多个写读延迟时间,如图3b中所示。图3b是根据本公开的一些实施例的示出错误率随时间变化的存储器的经累积边界rber统计数据的图350。在一个实施方案中,第一组314包含w2r范围310中较小的一组最小w2r延迟时间,且第二组包含w2r范围310中较小的一组最高w2r延迟时间。w2r范围320同样可具有第一组324和第二组326,且w2r范围330可具有第一组334和第二组336。第一组314和第二组316的大小可以是可配置参数,并且可包含固定数目
的w2r延迟时间(例如,w2r范围310中的5个最小w2r延迟时间或5个最高w2r延迟时间)或w2r范围310中的所有w2r延迟时间的某一百分比(例如,最小的1%或最高的1%)。在一个实施方案中,w2r范围310和w2r范围320之间的边界可以根据曲线312和曲线322的相交点设置,且w2r范围320和w2r范围330之间的边界可以根据曲线322和曲线332的相交点设置。因为错误率可由于相关联的存储器单元的物理变化、耗损均衡、温度等而随时间改变,所以这些边界也可随时间推移而偏移以便优化ber。另外,改变系统设计目标也可能会影响这些边界的位置。
34.再次参考图2,在操作230处,处理逻辑确定存储器组件的对应于第一组314多个写读延迟时间的第一错误率和存储器组件的对应于第二组316多个写读延迟时间的第二错误率。在一个实施方案中,读取电压调整组件113执行存储器组件的数据完整性扫描以确定每一片段(例如,数据块)的错误率。在扫描期间,读取电压调整组件113识别一或多个可靠性统计数据,例如定义为错误位的数目与存储在数据块中的所有数据位的数目的比率的原始位错误率(rber)。在一个实施例中,在扫描期间,读取电压调整组件113写入和读取来自数据块的原始码字(即,一连串固定数目的位),其中经控制w2r延迟处于第一组314或第二组316。读取电压调整组件113可将原始码字施加到错误校正码(ecc)解码器以生成经解码码字,并比较经解码码字与原始码字。读取电压调整组件113可对经解码码字和原始码字之间的翻转位的数目计数,其中翻转位(即,错误位)的数目与码字中的总位数的比率表示rber。读取电压调整组件113可针对w2r延迟均匀地分布在314和316内的额外码字重复此过程,直到整个块都被扫描为止。在另一实施方案中,读取电压调整组件113可使用各种计数器118确定错误率,如关于图4更详细地描述。
35.在操作240处,处理逻辑确定第一错误率和第二错误率之间的对应关系是否满足第一阈值准则。在一个实施方案中,读取电压调整组件113确定第一错误率与第二错误率的比率,并比较所述比率与目标比率。在一个实施方案中,目标比率可以是一,使得第一错误率尽可能地接近第二错误率。相应地,读取电压调整组件113可比较第一错误率与第二错误率,并确定第一错误率与第二错误率是否相差不超过阈值量。如果比率足够接近一(即,如果第一错误率和第二错误率之间的差在阈值量内),那么读取电压调整组件113可确定满足阈值准则。在其它实施方案中,目标比率可以是鉴于存储器子系统的所需可靠性和性能要求所设置的某一其它值。例如,在一些情形中,一个特定读取电平可能优选的是基于存储器子系统的整个w2r范围来优化。在另一实施方案中,可能希望某一w2r范围的第一边界处的第一错误率低于第二边界处的第二错误率,或者反过来。相应地,目标比率可具有不为一的某一值。如果比率足够接近目标比率(即,如果比率与目标比率相差不超过阈值量),那么读取电压调整组件113可确定满足阈值准则。
36.响应于第一错误率和第二错误率之间的对应关系满足第一阈值准则,在操作250处,处理逻辑将与第一范围相关联的读取电压电平维持在当前电平。响应于第一错误率与第二错误率之间的对应关系不满足第一阈值准则,在操作260处,处理逻辑修改与第一范围相关联的读取电压电平。在一个实施方案中,读取电压调整组件113可调整读取电压电平,以使得第一错误率与第二错误率的比率满足第一阈值准则。这可包含例如将读取电压电平增加或减小一定量,重新测量每个边界处的错误率,以及确定比率是否更接近目标比率。读取电压调整组件113可重复此迭代过程,直到满足阈值准则为止。一旦确定适当的经修改读
取电压电平,读取电压调整组件113就可存储此读取电压电平,以用于未来针对具有处于对应范围的w2r延迟的数据的读取操作。
37.图4是根据本公开的一些实施例的确定写读延迟时间范围的边界处的一组写读延迟时间的错误率的实例方法的流程图。方法400可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法400由图1的读取电压调整组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程次序可以修改。因此,所示实施例应理解为仅作为实例,且所示过程可以按照不同次序执行,并且一些过程可以并行执行。另外,在各种实施例中,一或多个过程可以省略。因此,并非所有过程在每个实施例中都是需要的。其它过程流是可能的。
38.在操作410处,处理逻辑监测具有处于第一组(例如,314和/或316)多个写读延迟时间的写读延迟时间的存储器组件的片段上执行的读取操作。在一个实施方案中,读取电压调整组件113可从主机系统120接收执行读取操作的请求,执行任何地址映射操作以识别读取操作所针对的存储器中的物理地址,并确定所述地址的对应w2r延迟时间。w2r延迟时间可表示数据写入到物理地址的第一时间和读取请求从主机系统120接收的第二时间之间的差。取决于实施方案,w2r延迟时间可以基于当前时间和时戳(指示写入时间)之间的差来计算,所述时戳可以与数据一起存储在存储器组件上的物理地址处或存储在与存储器组件分开的某一其它数据存储装置(例如,本地存储器119)中,或者w2r延迟时间可以通过读取电压调整组件113以其它方式计算。在另一实施方案中,实际读取操作并不从主机系统120接收,而是可以由读取电压调整组件113有意发出读取已知具有适当的w2r延迟时间的数据的请求。尽管方法400的操作是关于第一范围(例如,w2r范围310)的第一组(例如,314)w2r延迟时间描述的,但是可针对不同组(例如,316)或不同范围(例如,w2r范围320或330)执行相同或类似操作。
39.在操作420处,处理逻辑响应于读取操作中检测到的每个失效位而使计数器118中的第一计数器递增。对于处于所识别组314的读取,读取电压调整组件113读取原始码字,将码字施加到错误校正码(ecc)解码器以生成经解码码字,并比较经解码码字与原始码字。读取电压调整组件113可响应于经解码码字中翻转的每个位而使第一计数器递增。在操作430处,处理逻辑响应于在读取操作中解码的每个码字中的每个位而使计数器118中的第二计数器递增。
40.在操作440处,处理逻辑确定第一计数器的值是否满足与样本大小有关的第二阈值准则。为了确保所确定的错误率在统计学上相关而不仅仅是离群值,读取电压调整组件113可继续收集数据,直到阈值数目的失效位被解码为止,其中失效位的阈值数目表示足够的样本大小。一旦达到阈值数目,读取电压调整组件113就可确定第二阈值准则被满足。响应于第一计数器的值满足第二阈值准则,在操作450处,处理逻辑根据第一计数器的值与第二计数器的值的比率而确定错误率。
41.在一个实施方案中,方法400的操作执行两次,以便确定关于方法200描述的第一和第二边界错误率。例如,处理逻辑可确定执行方法400的操作一次以确定对应于写入在给定写读范围310的第一边界314处的位的错误率,并再次执行以确定对应于写入在写读范围310的第二边界316处的位的错误率。
42.图5是根据本公开的一些实施例的基于边界错误统计数据使用动态调整的读取电压电平执行读取操作的实例方法的流程图。方法500可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法500由图1的读取电压调整组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程次序可以修改。因此,所示实施例应理解为仅作为实例,且所示过程可以按照不同次序执行,并且一些过程可以并行执行。另外,在各种实施例中,一或多个过程可以省略。因此,并非所有过程在每个实施例中都是需要的。其它过程流是可能的。
43.在操作510处,处理逻辑从主机系统120或从存储器子系统110的某一其它组件接收读取请求。在一个实施方案中,读取请求识别存储在存储器组件的片段中的数据。所述片段可以是存储器组件的任何物理或逻辑部分,例如数据块。
44.在操作520处,处理逻辑使用第一读取电压电平对存储器组件的片段执行读取操作,对存储在片段处的数据进行解码,并确定其中存储请求中所识别的数据的存储器组件的片段的写读延迟时间。在一个实施方案中,读取电压调整组件默认使用存储器子系统中可用的最小读取电压电平(例如,读取电平1)来执行读取操作。如果使用第一读取电压电平读取的数据可以成功解码,那么读取电压调整组件113可以读取与数据一起存储在存储器组件上的时戳,其指示数据被写入到片段的时间。如果使用最小读取电压电平读取的数据无法成功解码,那么处理逻辑可尝试使用另一读取电压电平(例如,读取电平2)再次读取数据。处理逻辑可重复此过程,直到数据能够成功解码为止。在数据成功解码后,读取电压调整组件113可确定由时戳指示的写入时间和当前时间(或在操作510处接收到读取请求的时间)之间的差,其中所述差表示w2r延迟。在某些情形下,w2r延迟可以在不读取对应片段的情况下确定。例如,如果写入时戳存储在其它地方,例如本地存储器119中,或如果控制器115发出写入和读取操作,其中写入和读取操作之间已知存在有意延迟时间,那么读取电压调整组件113可在读取片段之前确定w2r延迟。在这些情况下,读取电压调整组件113可使用对应于已知w2r延迟的不同读取电压电平(例如,读取电平2或读取电平3)执行读取操作。在一个实施方案中,不管第一读取电压电平是读取电平1、读取电平2还是读取电平3,读取电压电平都基于在第一范围的第一边界处测得的第一错误率和在第一范围的第二边界处测得的第二错误率之间的对应关系动态地调整。在一个实施方案中,读取电压电平的实际值可以根据上文关于图2所描述的过程调整。
45.在操作530处,处理逻辑识别存储器组件的多个写读延迟范围中的第一范围,其中第一范围表示多个写读延迟时间,并且其中片段的写读延迟时间处于第一范围。在操作540处,处理逻辑确定将用于对具有处于第一范围的写读延迟时间的存储器组件的片段执行读取操作的最优读取电压电平,其中最优读取电压电平基于在第一范围的第一边界处测得的第一错误率和在第一范围的第二边界处测得的第二错误率之间的对应关系动态地调整。例如,对于处于w2r范围310的w2r延迟时间,读取电压调整组件可根据数据结构、映射表、寄存器等确定对应的最优读取电压电平(即,读取电平1)。
46.在操作550处,处理逻辑任选地使用在操作540处确定的最优读取电压电平对存储器组件的片段执行任何额外读取操作。在一个实施例中,执行读取操作可包含向要读取的一或多个存储器单元施加具有所确定的读取电压电平的信号,以及确定存储器单元的状
态,其中此状态可经解码以提供其中存储的数据。
47.图6是根据本公开的一些实施例的基于错误率随时间变化的存储器的经累积方向rber统计数据调整读取电压电平的实例方法的流程图。方法600可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法600由图1的读取电压调整组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程次序可以修改。因此,所示实施例应理解为仅作为实例,且所示过程可以按照不同次序执行,并且一些过程可以并行执行。另外,在各种实施例中,一或多个过程可以省略。因此,并非所有过程在每个实施例中都是需要的。其它过程流是可能的。
48.在操作610处,处理逻辑识别存储器组件的多个写读延迟范围中的第一范围(例如,w2r范围310),其中第一范围表示多个写读延迟时间,且其相关联的读取电压电平(例如,读取电平1)用于对具有处于第一范围的写读延迟时间的存储器组件的片段执行读取操作,如图3a中所示。读取电平1、读取电平2和读取电平3的值可在存储器组件的制造期间设置,但是由于时间的流逝以及与存储器组件的使用相关联的其它因素,可能在某些时间点变为次优的。基于经累积方向rber统计数据调整读取电压电平可使那些读取电压电平回到ber被优化(或至少减小)用于对应w2r延迟时间范围的点。
49.再次参考图6,在操作620处,处理逻辑识别第一范围(即,w2r范围310)的第一端(即,边界)处的第一组714多个写读延迟时间,如图7中所示。图7是根据本公开的一些实施例的示出错误率随时间变化的存储器的经累积方向rber统计数据的图700。在一个实施方案中,第一组714包含w2r范围710中较小的一组最小w2r延迟时间。w2r范围320同样可具有第一组724,且w2r范围330可具有第一组734。第一组714的大小可以是可配置参数,并且可包含固定数目的w2r延迟时间(例如,w2r范围310中的5个最小w2r延迟时间)或w2r范围310中的所有w2r延迟时间的某一百分比(例如,最小的1%)。在一个实施方案中,w2r范围310和w2r范围320之间的边界可以根据曲线312和曲线322的相交点设置,且w2r范围320和w2r范围330之间的边界可以根据曲线322和曲线332的相交点设置。因为错误率可由于相关联的存储器单元的物理变化、耗损均衡、温度等而随时间改变,所以这些边界也可随时间推移而偏移以便优化ber。另外,改变系统设计目标也可能会影响这些边界的位置。
50.再次参考图6,在操作630处,处理逻辑确定存储器组件的对应于第一组714多个写读延迟时间的第一方向错误率和存储器组件的对应于第一组714多个写读延迟时间的第二方向错误率。在一个实施方案中,方向错误率与在第一状态中编程且被错误地读取为第二状态的位数有关。相应地,第一错误率可例如与写成逻辑
‘0’
且被错误地读取为逻辑
‘1’
的位数除以在测得片段中写入的逻辑
‘0’
位的总数有关。类似地,第二错误率可例如与写成逻辑
‘1’
且被错误地读取为逻辑
‘0’
的位数除以在测得片段中写入的逻辑
‘1’
位的总数有关。在其它实施方案中,第一错误率和第二错误率可以颠倒过来。在另一实施方案中,处理逻辑确定方向失效位计数,而不是对应方向错误率。
51.在一个实施方案中,读取电压调整组件113执行存储器组件的数据完整性扫描以确定每一片段(例如,数据块)的错误率。在扫描期间,读取电压调整组件113识别一或多个可靠性统计数据,例如方向错误率。在一个实施例中,在扫描期间,读取电压调整组件113写入和读取来自数据块的原始码字(即,一连串固定数目的位),其中经控制w2r延迟处于第一
组714。读取电压调整组件113可将码字施加到错误校正码(ecc)解码器以生成经解码码字,并比较经解码码字与原始码字。读取电压调整组件113可对经解码码字和原始码字之间的翻转位的数目计数,进一步获得两个方向的方向错误率。读取电压调整组件113可针对额外码字重复此过程,直到整个块都被扫描为止。在另一实施方案中,读取电压调整组件113可使用各种计数器118确定错误率,如关于图8更详细地描述。
52.在操作640处,处理逻辑确定第一方向错误率和第二方向错误率之间的对应关系是否满足第一阈值准则。在一个实施方案中,读取电压调整组件113确定第一方向错误率与第二方向错误率的比率,并比较所述比率与目标比率。在一个实施方案中,目标比率可以是一,使得第一方向错误率尽可能地接近第二方向错误率。相应地,读取电压调整组件113可比较第一方向错误率与第二方向错误率,并确定第一方向错误率与第二方向错误率是否相差不超过阈值量。如果比率足够接近一(即,如果第一方向错误率和第二方向错误率之间的差在阈值量内),那么读取电压调整组件113可确定满足阈值准则。在其它实施方案中,目标比率可以是鉴于存储器子系统的所需可靠性和性能要求所设置的某一其它值。例如,在一些情形中,可能希望第一方向错误率低于第二方向错误率,或者反过来。相应地,目标比率可具有不为一的某一值。如果比率足够接近目标比率(即,如果比率与目标比率相差不超过阈值量),那么读取电压调整组件113可确定满足阈值准则。
53.响应于第一方向错误率和第二方向错误率之间的对应关系满足第一阈值准则,在操作650处,处理逻辑将与第一范围相关联的读取电压电平维持在当前电平。响应于第一方向错误率和第二方向错误率之间的对应关系不满足第一阈值准则,在操作660处,处理逻辑修改与第一范围相关联的读取电压电平。在一个实施方案中,读取电压调整组件113可调整读取电压电平,以使得第一方向错误率与第二方向错误率的比率满足第一阈值准则。这可包含例如将读取电压电平增加或减小一定量,重新测量方向错误率,以及确定比率是否更接近目标比率。读取电压调整组件113可重复此迭代过程,直到满足阈值准则为止。一旦确定适当的经修改读取电压电平,读取电压调整组件113就可存储此读取电压电平,以用于未来针对具有处于对应范围的w2r延迟的数据的读取操作。
54.图8是根据本公开的一些实施例的确定写读延迟时间范围的边界处的一组写读延迟时间的方向错误率的实例方法的流程图。方法800可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法800由图1的读取电压调整组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程次序可以修改。因此,所示实施例应理解为仅作为实例,且所示过程可以按照不同次序执行,并且一些过程可以并行执行。另外,在各种实施例中,一或多个过程可以省略。因此,并非所有过程在每个实施例中都是需要的。其它过程流是可能的。
55.在操作810处,处理逻辑监测具有处于第一组多个写读延迟时间的写读延迟时间的存储器组件的片段上执行的读取操作。在一个实施方案中,读取电压调整组件113可从主机系统120接收执行读取操作的请求,执行任何地址映射操作以识别读取操作所针对的存储器中的物理地址,并确定所述地址的对应w2r延迟时间。w2r延迟时间可表示数据写入到物理地址的第一时间和读取请求从主机系统120接收的第二时间之间的差。取决于实施方案,w2r延迟时间可以基于当前时间和时戳(指示写入时间)之间的差来计算,所述时戳可以
与数据一起存储在存储器组件上的物理地址处或存储在与存储器组件分开的某一其它数据存储装置(例如,本地存储器119)中,或者w2r延迟时间可以通过读取电压调整组件113以其它方式计算。在另一实施方案中,实际读取操作并不从主机系统120接收,而是可以由读取电压调整组件113有意发出读取已知具有适当的w2r延迟时间的数据的请求。尽管方法800的操作是关于在第一范围(例如,w2r范围310)的第一组(例如,714)w2r延迟时间的第一方向上出现的错误描述的,但是可针对不同组(例如,724或734)或不同范围(例如,w2r范围320或330)执行相同或类似操作。
56.在操作820处,处理逻辑响应于读取操作中检测到的在第一方向上的每个失效位而使计数器118中的第一计数器递增。对于处于所识别组714的读取,读取电压调整组件113读取原始码字,将码字施加到错误校正码(ecc)解码器以生成经解码码字,并比较经解码码字与原始码字。读取电压调整组件113可响应于经解码码字中在特定方向上翻转的每个位而使第一计数器递增。例如,读取电压调整组件113可针对写成逻辑
‘0’
且被错误地读取为逻辑
‘1’
的每个位使第一计数器递增。在另一实施方案中,读取电压调整组件113实际上可针对写成逻辑
‘1’
且被错误地读取为逻辑
‘0’
的每个位使第一计数器递增。在操作830处,处理逻辑响应于经解码码字中的某一状态(即,在操作820处确定的方向状态)的每个位而使计数器118中的第二计数器递增。例如,在第一计数器对应于写成逻辑
‘0’
且被错误地读取为逻辑
‘1’
的数据方向错误的一个实施方案中,在操作830处,第二计数器将响应于经解码码字中具有逻辑
‘0’
状态的每个位而累积。
57.在操作840处,处理逻辑确定第一计数器的值是否满足与样本大小有关的第二阈值准则。为了确保所确定的错误率在统计学上相关而不仅仅是离群值,读取电压调整组件113可继续收集数据,直到阈值数目的方向失效位被解码为止,其中方向失效位计数的阈值数目表示足够的样本大小。一旦达到阈值数目,读取电压调整组件113就可确定第二阈值准则被满足。响应于第一计数器的值满足第二阈值准则,在操作850处,处理逻辑根据第一计数器的值与第二计数器的值的比率而确定方向错误率。
58.在一个实施方案中,方法800的操作执行两次,以便确定关于方法600描述的第一和第二方向错误率。例如,处理逻辑可确定执行方法800的操作一次以确定对应于写成逻辑
‘0’
且被错误地读取为逻辑
‘1’
的位的方向错误率,并再次执行以确定对应于写成逻辑
‘1’
且被错误地读取为逻辑
‘0’
的位的方向错误率。在一个实施方案中,响应于存在与第一和第二方向错误率有关的足够的样本大小,如在操作840处所确定,在操作方法600的640处确定第一和第二方向错误率的比率。因为用于方向失效位累积的经解码码字的数目增加,所以逻辑
‘0’
和逻辑
‘1’
位的数目之间的平衡改进。相应地,用于方法600的操作640的第一阈值准则可根据上文关于方法800的操作820所描述的在每一方向上的失效位的数目确定。
59.图9是根据本公开的一些实施例的基于方向错误统计数据使用动态调整的读取电压电平执行读取操作的实例方法的流程图。方法900可由可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合的处理逻辑执行。在一些实施例中,方法900由图1的读取电压调整组件113执行。尽管以特定顺序或次序示出,但是除非另外指定,否则过程次序可以修改。因此,所示实施例应理解为仅作为实例,且所示过程可以按照不同次序执行,并且一些过程可以并行执行。另外,在各种实施例中,一或多个过程可以省略。因此,并非所有过程在每个实
施例中都是需要的。其它过程流是可能的。
60.在操作910处,处理逻辑从主机系统120或从存储器子系统110的某一其它组件接收读取请求。在一个实施方案中,读取请求识别存储在存储器组件的片段中的数据。所述片段可以是存储器组件的任何物理或逻辑部分,例如数据块。
61.在操作920处,处理逻辑使用第一读取电压电平(例如,读取电平1)对存储器组件的片段执行读取操作,对存储在片段处的数据进行解码,并确定其中存储请求中所识别的数据的存储器组件的片段的写读延迟时间。在一个实施方案中,读取电压调整组件默认使用存储器子系统中可用的最小读取电压电平(例如,读取电平1)来执行读取操作。如果使用第一读取电压电平读取的数据可以成功解码,那么读取电压调整组件113可以读取与数据一起存储在存储器组件上的时戳,其指示数据被写入到片段的时间。如果使用最小读取电压电平读取的数据无法成功解码,那么处理逻辑可尝试使用另一读取电压电平(例如,读取电平2)再次读取数据。处理逻辑可重复此过程,直到数据能够成功解码为止。在数据成功解码后,读取电压调整组件113可确定由时戳指示的写入时间和当前时间(或在操作910处接收到读取请求的时间)之间的差,其中所述差表示w2r延迟。在某些情形下,w2r延迟可以在不读取对应片段的情况下确定。例如,如果写入时戳存储在其它地方,例如本地存储器119中,或如果控制器115发出写入和读取操作,其中写入和读取操作之间已知存在有意延迟时间,那么读取电压调整组件113可在读取片段之前确定w2r延迟。在这些情况下,读取电压调整组件113可使用对应于已知w2r延迟的不同读取电压电平(例如,读取电平2或读取电平3)执行读取操作。在一个实施方案中,不管第一读取电压电平是读取电平1、读取电平2还是读取电平3,读取电压电平都基于在第一范围的第一边界处测得的第一方向错误率和在第一范围的第一边界处测得的第二方向错误率之间的对应关系动态地调整。在一个实施方案中,读取电压电平的实际值可以根据上文关于图6所描述的过程调整。
62.在操作930处,处理逻辑识别存储器组件的多个写读延迟范围中的第一范围,其中第一范围表示多个写读延迟时间,并且其中片段的写读延迟时间处于第一范围。在操作940处,处理逻辑确定要用于对具有处于第一范围的写读延迟时间的存储器组件的片段执行读取操作的最优读取电压电平,其中最优读取电压电平基于在第一范围的第一边界处测得的第一方向错误率和在第一范围的第一边界处测得的第二方向错误率之间的对应关系动态地调整。例如,对于处于w2r范围320的w2r延迟时间,读取电压调整组件可根据数据结构、映射表、寄存器等确定对应的最优读取电压电平(即,读取电平2)。
63.在操作950处,处理逻辑任选地使用在操作940处确定的最优读取电压电平对存储器组件的片段执行任何额外读取操作。在一个实施例中,执行读取操作可包含向要读取的一或多个存储器单元施加具有所确定的读取电压电平的信号,以及确定存储器单元的状态,其中此状态可经解码以提供其中存储的数据。
64.图10示出计算机系统1000的实例机器,所述实例机器内可执行用于使所述机器执行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统1000可对应于主机系统(例如,图1的主机系统120),所述主机系统包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的读取电压调整组件113的操作)。在替代实施例中,机器可连接(例如,联网)到lan、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中
的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而在客户端-服务器网络环境中的服务器或客户端机器的容量中操作。
65.机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、个人数字助理(pda)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或能够执行指定由此机器进行的动作的一组指令(循序的或以其它方式)的任何机器。另外,尽管示出单个机器,但术语“机器”还应理解为包含单独地或共同地执行一组(或多组)指令以执行本文中所论述的方法中的任何一或多种的机器的任何集合。
66.实例计算机系统1000包含处理装置1002、主存储器1004(例如,只读存储器(rom)、快闪存储器、动态随机存取存储器(dram),例如同步dram(sdram)或rambus dram(rdram)等)、静态存储器1006(例如,快闪存储器、静态随机存取存储器(sram)等)以及数据存储系统1018,它们经由总线1030彼此通信。
67.处理装置1002表示一或多个通用处理装置,例如微处理器、中央处理单元等。更特定来说,处理装置可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置1002也可为一或多个专用处理装置,例如专用集成电路(asic)、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器等。处理装置1002配置成执行用于执行本文中所论述的操作和步骤的指令1026。计算机系统1000可以进一步包含网络接口装置1008以通过网络1020通信。
68.数据存储系统1018可以包含机器可读存储媒体1024(也称为计算机可读媒体),其上存储有一或多组指令1026或体现本文中所描述的任何一或多种方法或功能的软件。指令1026还可在其由计算机系统1000执行期间完全或至少部分地驻留在主存储器1004内和/或处理装置1002内,主存储器1004和处理装置1002也构成机器可读存储媒体。机器可读存储媒体1024、数据存储系统1018和/或主存储器1004可对应于图1的存储器子系统110。
69.在一个实施例中,指令1026包含实施对应于图1的读取电压调整组件113的功能性的指令。尽管在实例实施例中机器可读存储媒体1024展示为单个媒体,但是术语“机器可读存储媒体”应被理解为包含存储所述一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被理解为包含能够存储或编码供机器执行的一组指令且使机器执行本公开的方法中的任何一或多种的任何媒体。因此,术语“机器可读存储媒体”应理解为包含(但不限于)固态存储器、光学媒体以及磁性媒体。
70.已关于计算机存储器内的数据位的操作的算法和符号表示而呈现先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。算法在这里并且通常被认为是产生期望结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操纵的电或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为位、值、要素、符号、字符、项、数字等是方便的。
71.然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅仅是应用于这些量的方便的标签。本公开可以提及将计算机系统的寄存器和存储器内的表示为物理(电子)量的数据操纵和变换为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
72.本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或者其可包含由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的盘(包含软盘、光盘、cd-rom和磁性光盘)、只读存储器(rom)、随机存取存储器(ram)、eprom、eeprom、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,它们各自耦合到计算机系统总线。
73.本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或可证明构造用以执行所述方法的更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现多种这些系统的结构。此外,并非参考任何特定编程语言来描述本公开。应了解,可使用多种编程语言来实施本文中所描述的本公开的教示。
74.本公开可提供为计算机程序产品或软件,所述计算机程序产品或软件可包含在其上存储有指令的机器可读媒体,所述指令可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“rom”)、随机存取存储器(“ram”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
75.在前述说明书中,已参考本公开的特定实例实施例描述了本公开的实施例。应显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。