错误管理和传信的动态控制的制作方法

文档序号:26193596发布日期:2021-08-06 18:47阅读:70来源:国知局
错误管理和传信的动态控制的制作方法

交叉引用

本专利申请案主张瑞希特(richter)等人2019年12月11日申请的标题为“错误管理和传信的动态控制(dynamiccontroloferrormanagementandsignaling)”的美国专利申请案第16/711,354号和瑞希特等人2018年12月13日申请的标题为“错误管理和传信的动态控制(dynamiccontroloferrormanagementandsignaling)”的美国临时专利申请案第62/779,024号的优先权,所述申请案两者均转让给本受让人。



背景技术:

下文大体上涉及包含至少一个存储器装置的系统,且更具体来说,涉及错误管理和传信的动态控制。

存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过对存储器装置的不同状态进行编程来存储信息。举例来说,二进制装置最经常存储两个状态中的一个,经常由逻辑1或逻辑0表示。在其它装置中,可存储两个以上状态。为了存取所存储的信息,装置的组件可读取或感测存储器装置中的至少一个所存储状态。为了存取信息,装置的组件可对存储器装置中的状态进行写入或编程。

存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、铁电ram(feram)、磁性ram(mram)、电阻式ram(rram)、快闪存储器、相变存储器(pcm)等。存储器装置可以是易失性或非易失性的。非易失性存储器,例如feram,可维持其所存储的逻辑状态很长一段时间,即使无外部电源存在也是这样。易失性存储器装置(例如,dram)除非被外部电源周期性地刷新,否则可随时间推移而丢失其存储的状态。

存储器装置接收到的和所存储的数据完整性可受可引起错误的各种条件影响。举例来说,存储器装置可使用一或多个信道从另一装置接收数据,且瞬态电子噪声可将一或多个错误引入到所接收的数据。在其它情况下,数据可在存储器装置处被接收到之后受到影响。可能需要改进用于数据和存储器系统中的错误检测和校正的技术。

附图说明

图1说明如本文中所公开的支持错误管理和传信的动态控制的系统的实例。

图2说明如本文中所公开的支持错误管理和传信的动态控制的存储器裸片的实例。

图3说明如本文中所公开的支持错误管理和传信的动态控制的存储器装置的框图。

图4说明如本文中所公开的支持错误管理和传信的动态控制的错误管理组件的框图。

图5和6说明如本文中所公开的支持错误管理和传信的动态控制的系统中的过程流的实例。

图7到10示出说明如本文中所公开的支持错误管理和传信的动态控制的一或多种方法的流程图。

具体实施方式

存储器系统和存储器装置(例如动态随机存取存储器(dram))可为现代计算机中的必要装置,所述现代计算机包含个人计算机(pc)、笔记本计算机、服务器、智能电话、汽车等等。然而,此类系统可容易发生错误,这可导致系统内失效。此类失效可归因于系统内的不可预测的瞬态电子噪声、操作系统中的缺陷,或可由其它因素(例如,静电震动、机电失效)、制造缺陷等引起。另外,存储器装置可经由一或多个通信信道与另一装置(例如,主机装置,例如控制器、图形处理单元(gpu)、通用gpu(gpgpu)、中央处理单元(cpu),或其它装置)通信,且当经由信道(例如,从系统中和周围的电子噪声)发射数据时可引入(例如,随机引入)错误。

在任何情况下,存储器系统内的损坏或错误可降低所存储或发射的信息的值。虽然一些存储器装置可以可靠地接收和存储具有低位错误率的数据,但归因于电子装置中固有的物理限制,位错误率不大可能为零。存储器装置中的错误可对应于单一存储器单元(例如,位翻转)、存储器阵列的部分(例如,行和/或列缺陷)或完整存储器阵列中所存储的数据的丢失,且此类错误可为间歇性或永久性的。

此外,存储器系统中的一些类型的数据与其它类型的数据相比可为更关键的,且与具有更高操作重要性的数据相关联的失效因此可对系统具有更大影响。作为实例,任务关键性应用(例如自主驾驶系统和航空导航,仅举几例)中的失效与视频流式传输应用中的失效相比可产生更严重的并发情况,所述视频流式传输应用中的失效可导致例如少数变色像素。一些系统(例如,用于自驾驶汽车的系统)可相应地包含最多容许使系统保持操作(这是归因于持续操作的重要性)的程度上的存储器失效的设计参数(例如,当受伤或死亡风险极大时)。因此,存储器装置的不同应用和操作条件可需要不同的错误管理技术。同样地,可需要进一步改进存储器系统中的错误管理、检测、校正和报告的技术。

如本文所描述,可使用各种技术使容错性适应于存储器系统的设计参数和特定应用。举例来说,可通过可编程错误计数、错误标记输出、裸片上地址总线保护、命令/地址错误检测码(例如,奇偶位、crc)或温控式内部刷新速率或其组合来增强存储器装置中的安全电路。

在一些实例中,存储器装置可使用错误检测和校正(edc)码防止发生存储器失效,其中可使用监测错误并采取动作校正失效的技术(例如,包含基于软件算法的那些技术)。内部计数器可用于对检测到的错误数量计数,且当已达到错误阈值(例如,基于计数)时,存储器装置可将信号发送到主机装置。在一些方面中,存储器装置可配置有触发向主机装置进行报告的阈值错误数量。不同阈值可以被配置成用于相应类型的数据,或用于存储在存储器装置的不同部分(例如,每一存储器组和/或装置的其它部分)内的数据,或这两者,以及其它实例。在一些实例中,可配置阈值可为错误阈值数量、错误阈值频率、错误阈值类型、在存储器装置的一或多个方位处检测到的错误阈值,或其任何组合。因而,存储器装置可选择性地将受损位报告发到主机装置。在一些情况下,每当刷新了单元(或字、行等)时或当发出存取命令时,或其组合,存储器装置可检查(例如,自主地检查)并校正错误。

在一些情况下,主机装置可使用从存储器装置接收的信息以避开存储器阵列的具有高失效率的部分(与阵列的其它部分相比)。在这类情况下,主机装置可继续使用存储器阵列的其它非失效部分且因此在确保持续操作的同时保留大部分可用存储器容量。在一些方面中,从存储器装置接收的信号可触发主机装置处的中断,且主机装置可分析失效并且相应地作出响应(例如,通过重新发出命令)。因此,具有容许低错误率(如果有的话)的高安全裕度的系统可设置可编程错误阈值以触发中断并且防止错误在系统中传播。

本文中所描述的额外技术包含识别在存储器装置处接收到的和在存储器装置内发射的信息中的错误。举例来说,存储器装置可包含用于检查接收到的命令的完整性的逻辑,其中命令发射可受到奇偶校验或其它校验位的保护。存储器装置可用所接收的信息是否包含错误的指示作出响应。在针对所接收的命令的奇偶校验或校验和未通过的情况下,存储器装置可制止执行所接收的命令(例如,归因于所检测到的错误)并且将错误报告回给主机装置。通过避免执行错误命令,可避免系统中的另外错误。另外或替代地,存储器装置可进入锁定状态以停止执行在识别了错误之后接收到的指令。主机装置可识别错误,将指令发到存储器装置以解除锁定状态并且重新发射失效(和任何稍后的)命令。

在其它实例中,可在发射的地址(例如,存储器组、行和/或列地址)中出现随机错误(例如,位翻转),这导致敞开、存取或闭合阵列的不正确区段。因此,存储器装置可将edc保护(例如,奇偶校验、crc)应用于内部总线,例如行和列地址总线。应用于这些总线的edc保护可提防装置内发射的信息的错误并且进一步提高防止在存储器系统中出现错误的防护等级。

本文中在图1的上下文中的示范性存储器系统层级描述本公开的特征,且相对于图2的上下文中的示范性存储器装置进一步描述本公开的特征。接着在图3和4的上下文中描述存储器装置和组件框图的具体实例。本公开的这些和其它特征进一步由涉及用于错误管理和传信的动态控制的技术的图5和6的过程流和图7到10的流程图来说明并且参考所述过程流进行描述。

图1示出根据本文公开的方面的利用一或多个存储器装置的系统100的实例。系统100可包含外部存储器控制器105、存储器装置110以及使外部存储器控制器105与存储器装置110耦合的多个信道115。系统100可包含一或多个存储器装置,但为易于描述,可将所述一或多个存储器装置描述为单个存储器装置110。

系统100可包含电子装置的各方面,例如计算装置、移动计算装置、无线装置或图形处理装置。系统100可为便携式电子装置的实例。系统100可为计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、因特网连接装置等等的实例。存储器装置110可以是被配置成存储用于系统100的一或多个其它组件的数据的系统的组件。在一些实例中,系统100被配置成用于使用基站或接入点与其它系统或装置进行双向无线通信。在一些实例中,系统100能够进行机器类型通信(mtc)、机器对机器(machine-to-machine,m2m)通信或装置对装置(d2d)通信。

系统100的至少部分可为主机装置的实例。这类主机装置可为使用存储器执行过程的装置的实例,例如计算装置、移动计算装置、无线装置、图形处理装置、计算机、手提式计算机、平板计算机、智能电话、蜂窝式电话、可穿戴装置、因特网连接装置、车辆、一些其它静止或便携式电子装置等。在某些情况下,主机装置可指代实施外部存储器控制器105的功能的硬件、固件、软件或其组合。在某些情况下,外部存储器控制器105可被称为主机或主机装置。在一些实例中,系统100是图形卡。在一些情况下,主机装置可确定系统内对数据中的错误可容许的程度(例如,基于应用、数据类型)并且基于容许度设置错误阈值数量。

举例来说,用于自主驾驶的存储器系统与其它应用或实施方案相比对错误可具有相对低的容许度。错误阈值因此可设置为允许在系统存取和存储的数据中出现极少错误(或没有错误)。替代地,主机装置可针对与例如视频流式传输或3d图形应用相关联的数据设置较高错误阈值。在任一情况下,不同类型的数据的错误阈值数量可由主机装置确定并且在系统内动态地启用。

在一些情况下,存储器装置110可以是被配置成与系统100的其它组件通信并提供可供系统100使用或参考的物理存储器地址/空间的独立装置或组件。在一些实例中,存储器装置110可配置成与至少一种或多种不同类型的系统100合作。系统100的组件和存储器装置110之间的传信可用来支持调制信号的调制方案、用于传送信号的不同引脚设计、系统100和存储器装置110的不同封装、系统100和存储器装置110之间的时钟传信和同步、定时惯例和/或其它因素。

存储器装置110可被配置成存储用于系统100的组件的数据。在一些情况下,存储器装置110可充当系统100的从属型装置(例如,对系统100通过外部存储器控制器105提供的命令作出响应及执行所述命令)。此类命令可以包含用于存取操作的存取命令,例如用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令。存储器装置110可包含支持用于数据存储的所要或指定容量的两个或更多个存储器裸片160(例如,存储器芯片)。包含两个或更多个存储器裸片的存储器装置110可以被称为多裸片存储器或封装(也被称为多芯片存储器或封装)。

系统100可另外包含处理器120、基本输入/输出系统(bios)组件125、一或多个外围组件130和输入/输出(i/o)控制器135。系统100的组件可以使用总线140彼此电子通信。

处理器120可被配置成控制系统100的至少部分。处理器120可为通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其可为这些类型的组件的组合。在此类情况下,处理器120可以是中央处理单元(cpu)、图形处理单元(gpu)、通用gpu(gpgpu)或芯片上系统(soc)的实例,以及其它实例。

bios组件125可以是包含作为固件操作的bios的软件组件,它可初始化并运行系统100的各种硬件组件。bios组件125还可管理处理器120与系统100的各种组件之间的数据流,所述各种组件例如是外围组件130、i/o控制器135等。bios组件125可包含存储在只读存储器(rom)、快闪存储器或任何其它非易失性存储器中的程序或软件。

外围组件130可以是任何输入装置或输出装置,或此类装置的接口,其可集成到系统100中或与系统100集成在一起。实例可以包含磁盘控制器、声音控制器、图形控制器、以太网控制器、调制解调器、通用串行总线(usb)控制器、串行或并行端口,或外围卡插槽,例如外围组件互连(pci)或加速图形端口(agp)插槽。外围组件130可为本领域技术人员理解为外围设备的其它组件。

i/o控制器135可管理处理器120和外围组件130、输入装置145或输出装置150之间的数据通信。i/o控制器135可管理未集成到系统100中或未与系统100集成的外围设备。在一些情况下,i/o控制器135可表示到外部外围组件的物理连接或端口。

输入145可以表示系统100外部的装置或信号,其将信息、信号或数据提供到系统100或其组件。这可包含用户接口或与其它装置或在其它装置之间的接口。在一些情况下,输入145可以是经由一或多个外围组件130与系统100介接的外围装置,或可以由i/o控制器135管理。

输出150可以表示在系统100外部的装置或信号,其被配置成从系统100或其任何组件接收输出。输出150的实例可包含显示器、音频扬声器、打印装置或印刷电路板上的另一处理器等。在一些情况下,输出150可以是经由一或多个外围组件130与系统100介接的外围装置,或可以由i/o控制器135管理。

系统100的组件可由经设计以执行其功能的通用或专用电路构成。这可包含被配置成执行本文中所描述的功能的各种电路元件,例如,导线、晶体管、电容器、电感器、电阻器、放大器或其它有源或无源元件。

存储器装置110可包含装置存储器控制器155和一或多个存储器裸片160。每一存储器裸片160可包含本地存储器控制器165(例如,本地存储器控制器165-a、本地存储器控制器165-b和/或本地存储器控制器165-n)和存储器阵列170(例如,存储器阵列170-a、存储器阵列170-b和/或存储器阵列170-n)。存储器阵列170可以是存储器单元的集合(例如,网格),其中每一存储器单元被配置成存储至少一个位的数字数据。参考图2更详细地描述存储器阵列170和/或存储器单元的特征。

在一些情况下,不同类型的数据可存储于存储器装置110的不同部分中。另外,一些数据在系统内可具有更高或更低优先级,且相应数据集可相应地存储于例如不同存储器阵列170中(例如,基于在其中存储数据的方位相对于数据优先级的可靠性)。作为说明性实例,与任务关键性操作相关联的数据(例如,高度敏感数据、对系统操作必要的数据、对企业或组织操作必要的数据)可存储于存储器阵列170-a中,而与较不关键操作相关联的数据(例如,与媒体流式传输相关联的数据、用于三维(3d)图形渲染或游戏的数据)可存储于存储器阵列170-b中。同样地,第一类型的数据可存储于存储器裸片160-a处且第二类型的数据可存储于存储器裸片160-b处。另外或替代地,不同类型的数据可存储于不同双列直插式存储器模块(dimm)处。还预期本文未明确描述的将不同类型的数据存储于存储器装置110的相应部分中的其它实例并且落入本文中所公开的概念的范围内。

存储器装置110可为二维(2d)存储器单元阵列的实例,或可为3d存储器单元阵列的实例。举例来说,2d存储器装置可以包含单一存储器裸片160。3d存储器装置可包含两(2)个或更多个存储器裸片160(例如,存储器裸片160-a、存储器裸片160-b和/或任何数量的存储器裸片160-n)。在3d存储器装置中,多个存储器裸片160-n可彼此上下堆叠。在一些情况下,3d存储器装置中的存储器裸片160-n可称为叠组、层级、层或裸片。3d存储器装置可包含任何数量的堆叠式存储器裸片160-n(例如,两个高的堆叠式存储器裸片、三个高的堆叠式存储器裸片、四个高的堆叠式存储器裸片、五个高的堆叠式存储器裸片、六个高的堆叠式存储器裸片、七个高的堆叠式存储器裸片、八个高的堆叠式存储器裸片)。这与单个2d存储器装置相比可增加可定位于衬底上的存储器单元的数量,反过来可减少生产成本或增加存储器阵列的性能,或这两者。在一些3d存储器装置中,不同叠组可共享至少一个共同存取线,使得一些叠组可共享字线、数字线和/或板线中的至少一个。

装置存储器控制器155可以包含被配置成控制存储器装置110的操作的电路或组件。因而,装置存储器控制器155可以包含使存储器装置110能执行命令的硬件、固件和软件,且可被配置成接收、传输或执行关于存储器装置110的命令、数据或控制信息。装置存储器控制器155可被配置成与外部存储器控制器105、一或多个存储器裸片160或处理器120通信。在一些情况下,存储器装置110可以从外部存储器控制器105接收数据和/或命令。例如,存储器装置110可以接收指示存储器装置110将代表系统100的组件(例如,处理器120)存储某些数据的写入命令,或接收指示存储器装置110将把存储于存储器裸片160中的某些数据提供到系统100的组件(例如,处理器120)的读取命令。在一些情况下,装置存储器控制器155可与存储器裸片160的本地存储器控制器165结合控制本文所描述的存储器装置110的操作。装置存储器控制器155和/或本地存储器控制器165中包含的组件的实例可包含用于对从外部存储器控制器105接收的信号进行解调的接收器、用于调制及发射信号到外部存储器控制器105的解码器、逻辑、解码器、放大器、滤波器等。

在一些情况下,装置存储器控制器155可执行检测和/或校正存储器装置110处的数据中的错误的功能。作为实例,装置存储器控制器155可使用错误检测码识别从外部存储器控制器105接收的命令中的错误。在其它情况下,装置存储器控制器155可使用与存储器装置110的总线集相关联的错误检测码识别例如用于存储和获得数据的地址(例如,组、行和/或列地址)中的错误。在一些情况下,装置存储器控制器155也可使用错误校正码校正在从存储器阵列170检索的数据中识别的错误。装置存储器控制器可对错误数量和/或执行的校正数量计数并且可将所述计数报告给外部存储器控制器105。装置存储器控制器155也可确定是否已经满足了数据的错误阈值数量,如果是,可使存储器装置110进入锁定状态以制止执行额外命令。在一些实例中,装置存储器控制器155可在向外部存储器控制器105报告不可校正错误时制止报告可校正错误。

本地存储器控制器165(例如,存储器裸片160的本地)可被配置成控制存储器裸片160的操作。而且,本地存储器控制器165可被配置成与装置存储器控制器155通信(例如,接收和发射数据和/或命令)。本地存储器控制器165可支持装置存储器控制器155以控制如本文中所描述的存储器装置110的操作。在一些情况下,存储器装置110不包含装置存储器控制器155,且本地存储器控制器165或外部存储器控制器105可执行本文中所描述的各种功能。因此,本地存储器控制器165可被配置成与装置存储器控制器155通信,与其它本地存储器控制器165通信,或直接与外部存储器控制器105或处理器120通信。在一些实例中,本地存储器控制器165可检测和计数包含在相应存储器阵列170中的数据的错误。举例来说,在存储器装置110处的数据中识别的每一错误可使计数器递增,且存储器装置110可维持错误计数。在一些实例中,错误计数可传送到装置存储器控制器155,且来自每一存储器裸片160或每一存储器阵列170或其组合的汇总或单独错误计数可报告给外部存储器控制器105。

外部存储器控制器105可被配置成实现系统100的组件(例如,处理器120)与存储器装置110之间的信息、数据和/或命令的传送。外部存储器控制器105可以充当系统100的组件与存储器装置110之间的联络,使得系统100的组件可不需要知道存储器装置的操作细节。系统100的组件可以向外部存储器控制器105呈现外部存储器控制器105满足的请求(例如,读取命令或写入命令)。外部存储器控制器105可转换或转译在系统100的组件与存储器装置110之间交换的通信。在一些情况下,外部存储器控制器105可包含产生共同(源)系统时钟信号的系统时钟。在一些情况下,外部存储器控制器105可以包含生成公共(源)数据时钟信号的公共数据时钟。

在一些情况下,外部存储器控制器105或系统100的其它组件或其在本文中所描述的功能可由处理器120实施。举例来说,外部存储器控制器105可为由处理器120或系统100的其它组件实施的硬件、固件或软件或其某一组合。尽管外部存储器控制器105被描绘为在存储器装置110外部,但是在一些情况下,外部存储器控制器105或其在本文中所描述的功能可由存储器装置110实施。举例来说,外部存储器控制器105可为由装置存储器控制器155或一或多个本地存储器控制器165实施的硬件、固件或软件或其某一组合。在一些情况下,外部存储器控制器105可分布在处理器120及存储器装置110上,使得外部存储器控制器105的部分由处理器120实施,且其它部分由装置存储器控制器155或本地存储器控制器165实施。同样地,在一些情况下,本文中归属于装置存储器控制器155或本地存储器控制器165的一或多个功能可在一些情况下由外部存储器控制器105(与处理器120分离或包含在处理器120中)执行。在一些实例中,外部存储器控制器105可执行管理和校正存储器装置110内的错误的功能。举例来说,如果存储器装置110报告已经满足了经编程错误数量阈值,那么可在稍后存取操作中避开外部存储器控制器105可确定存储器装置110的包含错误数据的部分。因此,外部存储器控制器105可将数据写入到存储器装置110的不同部分/从存储器装置110的不同部分读取数据。

系统100的组件可使用多个信道115与存储器装置110交换信息。在一些实例中,信道115可实现外部存储器控制器105与存储器装置110之间的通信。每一信道115可包含与系统100的组件相关联的端子之间的一或多个信号路径或传输媒体(例如,导体)。举例来说,信道115可包含第一端子,所述第一端子包含外部存储器控制器105处的一或多个引脚或衬垫以及存储器装置110处的一或多个引脚或衬垫。引脚可以是系统100的装置的导电输入或输出点的实例,且引脚可被配置成充当信道的部分。

在一些情况下,端子的引脚或衬垫可为信道115的信号路径的一部分。额外信号路径可与信道的端子耦合以用于在系统100的组件内路由信号。举例来说,存储器装置110可包含信号路径(例如,存储器装置110或其组件内部,例如在存储器裸片160内部的信号路径),所述信号路径将信号从信道115的端子路由到存储器装置110的各个组件(例如,装置存储器控制器155、存储器裸片160、本地存储器控制器165、存储器阵列170)。

信道115(以及相关联的信号路径和端子)可专用于传送特定类型的信息。在一些情况下,信道115可以是聚合信道且因此可以包含多个单独的信道。举例来说,数据信道190可以是x4(例如,包含四个信号路径)、x8(例如,包含八个信号路径)、x16(包含十六个信号路径)等等。

在一些情况下,信道115可包含一或多个命令和地址(ca)信道186。ca信道186可被配置成在外部存储器控制器105与存储器装置110之间传送命令,包含与命令相关联的控制信息(例如,地址信息)。举例来说,ca信道186可包含关于所需数据的地址的读取命令。在一些情况下,ca信道186可寄存在上升时钟信号沿和/或下降时钟信号沿上。在一些情况下,ca信道186可包含多个信号路径。

在一些情况下,信道115可包含一或多个时钟信号(ck)信道188。ck信道188可被配置成在外部存储器控制器105与存储器装置110之间传送一或多个共同时钟信号。每个时钟信号可被配置成在高状态与低状态之间振荡,且协调外部存储器控制器105及存储器装置110的动作。在一些情况下,时钟信号可为差分输出(例如,ck_t信号及ck_c信号)且可相应地配置ck信道188的信号路径。在一些情况下,时钟信号可以是单端的。ck信道188可包含任何数量的信号路径。在一些情况下,时钟信号ck(例如,ck_t信号和ck_c信号)可提供用于存储器装置110的命令和寻址操作或者存储器装置110的其它系统范围内的操作的定时参考。时钟信号ck因此可不同地称为控制时钟信号ck、命令时钟信号ck或系统时钟信号ck。系统时钟信号ck可以由系统时钟生成,所述系统时钟可以包含一或多个硬件组件(例如,振荡器、晶体、逻辑门、晶体管等)。

在一些情况下,信道115可包含一或多个数据(dq)信道190。数据信道190可被配置成在外部存储器控制器105与存储器装置110之间传送数据和/或控制信息。举例来说,数据信道190可传送将写入到存储器装置110的信息(例如,双向)或从存储器装置110读取的信息。数据信道190可传送可使用多种不同调制方案(例如,nrz、pam4)进行调制的信号。在一些情况下,信道115可包含可专用于其它目的的一或多个其它信道192。这些其它信道192可包含任何数量的信号路径。

在一些情况下,其它信道192可包含一或多个写入时钟信号(wck)信道。虽然wck中的‘w’在名义上可代表“写入”,但写入时钟信号wck(例如,wck_t信号和wck_c信号)可提供一般用于存储器装置110的存取操作的定时参考(例如,用于读取和写入操作两者的定时参考)。因此,写入时钟信号wck也可以被称为数据时钟信号wck。wck信道可被配置成在外部存储器控制器105与存储器装置110之间传送共同数据时钟信号。数据时钟信号可被配置成协调外部存储器控制器105和存储器装置110的存取操作(例如,写入操作或读取操作)。在一些情况下,写入时钟信号可为差分输出(例如,wck_t信号和wck_c信号),且wck信道的信号路径可相应地予以配置。wck信道可包含任何数量的信号路径。数据时钟信号wck可以由数据时钟生成,所述数据时钟可以包含一或多个硬件组件(例如,振荡器、晶体、逻辑门、晶体管等)。在某些情况下,其它信道192可包含一或多个edc信道。edc信道可被配置成传送错误检测信号,例如校验和,以提高系统可靠性。edc信道可包含任何数量的信号路径。在一些情况下,edc信道可用于基于满足了错误阈值发射错误标记。

信道115可以使用多种不同架构将外部存储器控制器105与存储器装置110耦合。各种架构的实例可包含总线、点对点连接、纵横开关、例如硅内插件等高密度内插件,或形成于有机衬底中的信道,或其某一组合。举例来说,在一些情况下,信号路径可以至少部分地包含高密度内插件,例如硅内插件或玻璃内插件。

可以使用各种不同的调制方案来调制在信道115上传送的信号。在一些情况下,可以使用二进制符号(或二进制层级)调制方案来调制在外部存储器控制器105与存储器装置110之间传达的信号。二进制符号调制方案可为m进制调制方案的实例,其中m等于二。二进制符号调制方案的每一符号可被配置成表示一个位的数字数据(例如,符号可表示逻辑1或逻辑0)。二进制符号调制方案的实例包含但不限于不归零(nrz)、单极编码、双极编码、曼彻斯特编码、具有两个符号(例如,pam2)的脉冲幅度调制(pam)等等。

在一些情况下,可以使用多符号(或多电平)调制方案来调制在外部存储器控制器105与存储器装置110之间传送的信号。多符号调制方案可以是m进制调制方案的实例,其中m大于或等于三。多符号调制方案的每一符号可被配置成表示多于一个位的数字数据(例如,符号可表示逻辑00、逻辑01、逻辑10或逻辑11)。多符号调制方案的实例包含但不限于pam4、pam8等、正交振幅调制(qam)、正交相移键控(qpsk)等。多符号信号或pam4信号可以是使用包含用以对多于一个位的信息进行编码的至少三个层级的调制方案来调制的信号。多符号调制方案及符号可替代地被称作非二进制、多位或高阶调制方案和符号。

存储器装置110可为现代计算机或具有计算机的装置(包含pc、笔记本计算机、服务器、智能电话、车辆等等)中的必要组件。然而,这类装置可容易发生错误,引起数据失效。数据失效可归因于不可预测的瞬态电子噪声、操作系统中的缺陷、静电震动、机电失效、制造缺陷等。另外,存储器装置110可经由一或多个信道115与主机装置(例如外部存储器控制器105)通信,且当经由信道115(例如,从系统100中和周围的电子噪声)发射数据时可引入错误。在任何情况下,错误均可降低存储器装置110处存储或发射的信息的值。存储器装置110中的错误可对应于单一存储器单元(例如,位翻转)、存储器阵列的部分(例如,行和/或列缺陷)或完整存储器阵列170或其组合中所存储的数据的丢失。此类错误可为间歇性或永久性的。另外,虽然一些存储器装置110可接收和存储具有相对低位错误率的数据,但存储器装置110的物理限制可造成在操作期间经历一定程度的瞬态错误。

在一些情况下,如果在存储器内发生错误或数据丢失,那么主机装置可能不了解所述错误,且系统可继续以受损数据进行操作。也可随着存储器装置110老化和其组件降级而出现错误。在其它实例中,错误可由与存储器装置110的内部总线相关的性质(例如,总线的大小、构造缺陷)和可在这些内部总线上累积的电荷引起。另外,在存取命令(例如,读取命令、写入命令)中出现的错误可能导致系统100中出现一连串的失效。举例来说,存取命令中的错误可能导致一系列问题,这些问题从位翻转到写入命令作为读取命令不正确地执行。此外,如果在包含错误的命令之后在存储器装置110处接收到稍后命令,那么一些数据可被覆写,且主机装置(或存储器装置110)可能无法识别错误或其起因。

在一些情况下,基于存储器系统的用例(例如,应用),某些失效可比其它失效更严重。举例来说,系统100可用于具有低错误容许度的任务关键性操作。自主驾驶应用(例如,自驾驶汽车、机器人汽车、无人驾驶车辆)可为此类任务关键性操作的一个实例,且系统中的数据完整性以及系统的持续操作可具有高重要性(与个人计算机(pc)或用于网页浏览的平板计算机相比)。这些系统可具有连续地管理用于各个传感器、输入和组件的数据的复杂操作,其中数据可用于进行实时计算以及对车辆操作的决策(例如,加速、速度、与其它对象和人员的相对方位、导航)。另外,即使在同一应用内,在不同时间(例如,在州际公路上驾驶对比等待交通信号灯)可具有不同程度的影响。因此,不同的应用不仅会影响系统中错误的处理方式,而且不同的操作条件可能需要不同的错误管理技术。应注意,本文中使用自主驾驶作为被配置成用于任务关键性操作的系统的一个说明性实例,但也考虑其它这类系统和操作。

系统100可支持实现存储器装置110处的数据错误动态管理的技术。举例来说,可编程阈值可基于数据类型或所存储的数据的方位或其组合被配置成用于存储器装置110。主机装置可编程存储器装置110处的数据的错误阈值,且存储器装置110可对数据中检测到的错误计数(例如,在从存储器阵列读取数据后)以确定是否已经满足了阈值。存储器装置110可将已经满足了阈值的指示发射到主机装置,且接着可执行校正错误和/或防止另外错误的功能。举例来说,存储器装置110可在确定已经满足了错误阈值后即刻进入锁定状态。在此状态下,存储器装置110可能不执行稍后从主机接收的任何命令。然而,主机装置可使用所接收的错误指示确定错误是否是可校正的(例如,例如受损数据是否存储于另一冗余方位中)。如果是,那么主机装置可将对主机装置退出锁定状态并且重新发射数据的指示发射到存储器装置110。在其它实例中,主机装置可从存储器装置110接收结温度的指示,且主机装置可调整存储器装置的操作参数以辅助缓解错误,例如提高存储器装置110的刷新率或降低存储器装置110的操作频率。在其它情况下,存储器装置可基于所检测到的错误自主地调整刷新率。

存储器装置110也可识别所接收命令中的错误。在这类情况下,错误检测码(例如,奇偶位、循环冗余校验(crc)位)可与主机装置发射的命令包含在一起。存储器装置110可使用错误检测码确定所述命令是否包含一或多个错误。在其中未检测到错误的情况下,存储器装置110可将此指示给主机装置(其中主机装置可存储发射的命令集,且一旦接收到命令无错误的指示便可从存储装置移除特定命令)。然而,如果命令包含错误,那么存储器装置110可制止执行所接收的命令,进入锁定状态,且可将错误的指示发射到主机装置。因此,主机装置可基于所接收的指示重新发射命令。

另外或替代地,存储器装置110可针对存储器装置110的内部总线使用edc识别与命令相关联的错误。也就是说,响应于命令(例如,组/行/列地址)产生的信号也可利用保护机制,例如错误检测码,来识别错误。针对存储器装置110的内部总线使用edc保护可确保即使可能已接收到无错误的命令、数据或这两者,仍可及时且高效地识别和缓解当相关联信号在存储器装置110中传播时出现的稍后错误。

系统100因此可支持基于存取的数据的类型使用存储器装置110进行的灵活错误计数和报告。以此方式,与一些操作相关联的数据中的错误与其它操作相比可以较高优先级被处理,且系统100可自适应地配置用于不同操作和应用的不同阈值。在一些方面中,可编程阈值和校正与防止未来错误的对应技术可实现系统100中的持续功能性,其中可采取动作确保存储以及从存储器的在极少错误下操作的部分检索数据。举例来说,代替当失效发生时停止操作或重置系统100,可采取减缓执行以恢复和/或校正失效从而避免系统完全失效的步骤。对于复杂操作,这可意味着调整存储器带宽以允许额外时间来在仍处理存储器装置110的数据的同时执行用于将系统重新调谐到稳定(无错)状态的功能。在自主驾驶的实例中,这可意味着在存储器系统缓解检测到的错误时,车辆暂时减速,这可防止归因于失效引发的系统重置引起车辆的一或多个系统或组件突然完全损耗。在其它实例中,系统100中识别的错误的传信也可触发用户干预。

另外,系统100可以被配置成用于选择性地启用和停用所描述的数据保护机制。因而,同一存储器装置110可在达成可自定义程度的可靠性和存储器带宽(例如,基于应用/系统)时用于不同应用和/或用在不同系统中。举例来说,在增强数据完整性和存储器装置110存储和检索数据的速度的技术之间可存在折衷,此折衷可基于给定应用进行配置。举例来说,一些应用可在存储器中不存在错误的情况下允许可接受的性能下降,而对于其它应用,性能可比错误数量更至关重要。然而,对于给定系统,可动态地启用所描述的方面的某一组合以达成错误管理和存储器带宽以及其它因素的可编程平衡。

图2说明根据本文中所公开的方面的支持错误管理和传信的动态控制的存储器裸片200的实例。存储器裸片200可以是参考图1所描述的存储器裸片160的实例。在一些情况下,存储器裸片200可以被称为存储器芯片、存储器装置或电子存储器设备。存储器裸片200可以包含一或多个可编程以存储不同逻辑状态的存储器单元205。每一存储器单元205可以是可编程的以存储两个或更多个状态。举例来说,存储器单元205可被配置成每次存储一个位的数字逻辑(例如,逻辑0和逻辑1)。在一些情况下,单个存储器单元205(例如,多级存储器单元)可被配置成每次存储多于一个位的数字逻辑(例如,逻辑00、逻辑01、逻辑10或逻辑11)。

存储器单元205可存储表示电容器中的可编程状态的电荷。dram架构可以包含电容器,所述电容器包含电介质材料以存储表示可编程状态的电荷。在其它存储器架构中,其它存储装置和组件也是可能的。举例来说,可使用非线性介电材料。

可通过激活或选择例如字线210和/或数字线215等存取线而在存储器单元205上执行例如读取和写入等操作。在一些情况下,数字线215也可被称作位线。对存取线、字线和数字线或其类似物的引用可互换,且不影响理解或操作。激活或选择字线210或数字线215可包含将电压施加到相应线。

存储器裸片200可将存取线(例如,字线210和数字线215)布置成网格状图案。存储器单元205可定位于字线210和数字线215的相交点处。通过偏置字线210和数字线215(例如,对字线210或数字线215施加电压),可在其相交点处存取单个存储器单元205。

可以通过行解码器220或列解码器225来控制对存储器单元205的存取。例如,行解码器220可以从本地存储器控制器260接收行地址,并基于接收到的行地址来激活字线210。列解码器225可以从本地存储器控制器260接收列地址且可以基于所接收的列地址来激活数字线215。举例来说,存储器裸片200可包含标记为wl_1至wl_m的多个字线210以及标记为dl_1至dl_n的多个数字线215,其中m和n取决于存储器阵列的大小。因此,通过激活字线210和数字线215,例如wl_1和dl_3,可以存取其相交处的存储器单元205。在二维或三维配置中的字线210和数字线215的相交点可称为存储器单元205的地址。在一些情况下,例如crc或奇偶位的信息可与由行解码器220或列解码器225接收的地址包含在一起。在这类情况下,可检查所述地址以识别任何错误,从而确保响应于所接收的地址存取正确字线210和数字线215。此类技术可以极少开销减少或最小化存取存储器单元205中的错误。

存储器单元205可包含逻辑存储组件,例如电容器230和切换组件235。电容器230可以是电介质电容器或铁电电容器的实例。电容器230的第一节点可与切换组件235耦合,且电容器230的第二节点可与电压源240耦合。在一些情况下,电压源240可为单元板参考电压,例如vpl,或可接地,例如vss。在一些状况下,电压源240可以是与板线驱动器耦合的板线的实例。开关组件235可以是选择性地建立或撤销建立两个组件之间的电子通信的晶体管或任何其它类型的开关装置的实例。

选择或撤销选择存储器单元205可通过激活或解除激活开关组件235来实现。电容器230可以使用开关组件235与数字线215电子通信。举例来说,当解除激活开关组件235时,电容器230可与数字线215隔离,且当激活开关组件235时,电容器230可与数字线215耦合。在一些情况下,开关组件235是晶体管,且其操作可通过将电压施加到晶体管栅极来控制,其中晶体管栅极与晶体管源极之间的电压差可大于或小于晶体管的阈值电压。在一些状况下,开关组件235可以是p型晶体管或n型晶体管。字线210可与开关组件235的栅极电子通信,且可基于施加到字线210的电压而激活/撤销激活开关组件235。

字线210可以是与存储器单元205电子通信的导电线,其用以对存储器单元205执行存取操作。在一些架构中,字线210可与存储器单元205的开关组件235的栅极电子通信,且可被配置成控制存储器单元的开关组件235。在一些架构中,字线210可以与存储器单元205的电容器的节点电子通信,且存储器单元205可不包含开关组件。

数字线215可为连接存储器单元205与感测组件245的导线。在一些架构中,存储器单元205可在存取操作的部分期间选择性地与数字线215耦合。举例来说,字线210和存储器单元205的切换组件235可被配置成耦合和/或隔离存储器单元205的电容器230和数字线215。在一些架构中,存储器单元205可与数字线215电子通信(例如,恒定)。

感测组件245可被配置成检测存储器单元205的电容器230上存储的状态(例如,电荷),且基于存储状态确定存储器单元205的逻辑状态。在一些状况下,由存储器单元205存储的电荷可能极小。因此,感测组件245可包含一或多个感测放大器以放大由存储器单元205输出的信号。感测放大器可检测在读取操作期间数字线215的电荷的小改变,且可基于检测到的电荷产生对应于逻辑状态0或逻辑状态1的信号。在读取操作期间,存储器单元205的电容器230可以输出信号(例如,释放电荷)到其对应的数字线215。所述信号可以使数字线215的电压改变。感测组件245可被配置成将跨越数字线215从存储器单元205接收的信号与参考信号250(例如,参考电压)进行比较。感测组件245可以基于所述比较确定存储器单元205的存储状态。举例来说,在二进制传信中,如果数字线215具有比参考信号250高的电压,那么感测组件245可确定存储器单元205的存储状态是逻辑1,并且如果数字线215具有比参考信号250低的电压,那么感测组件245可确定存储器单元205的存储状态是逻辑0。感测组件245可包含各种晶体管或放大器以检测和放大信号的差。存储器单元205的检测到的逻辑状态可经由列解码器225作为输出255输出。在某些情况下,感测组件245可以是另一组件(例如,列解码器225、行解码器220)的一部分。在一些状况下,感测组件245可与行解码器220或列解码器225电子通信。

本地存储器控制器260可经由各种组件(例如,行解码器220、列解码器225和感测组件245)控制存储器单元205的操作。本地存储器控制器260可以是参考图1所描述的本地存储器控制器165的实例。在一些情况下,行解码器220、列解码器225和感测组件245中的一或多个可以与本地存储器控制器260处于相同位置。本地存储器控制器260可被配置成从外部存储器控制器105(或参考图1所描述的装置存储器控制器155)接收命令和/或数据,将命令和/或数据转译成存储器裸片200可使用的信息,对存储器裸片200执行一或多个操作,且响应于执行一或多个操作而将数据从存储器裸片200传达到外部存储器控制器105(或装置存储器控制器155)。本地存储器控制器260可产生行和列地址信号以激活目标字线210和目标数字线215。本地存储器控制器260还可以产生和控制在存储器裸片200的操作期间使用的各种电压或电流。一般来说,本文所论述的施加电压或电流的振幅、形状或持续时间可经调整或变化,且针对在操作存储器裸片200中论述的各种操作可为不同的。

在一些情况下,本地存储器控制器260可被配置成对存储器裸片200的一或多个存储器单元205执行写入操作(例如,编程操作)。在写入操作期间,存储器裸片200的存储器单元205可经编程以存储所需逻辑状态。在一些情况下,可以在单个写入操作期间对多个存储器单元205进行编程。本地存储器控制器260可以识别将执行写入操作的目标存储器单元205。本地存储器控制器260可以识别与目标存储器单元205电子通信的目标字线210和目标数字线215(例如,目标存储器单元205的地址)。本地存储器控制器260可激活目标字线210和目标数字线215(例如,对字线210或数字线215施加电压),以存取目标存储器单元205。本地存储器控制器260可在写入操作期间对数字线215施加特定信号(例如,电压)以在存储器单元205的电容器230中存储特定状态(例如,电荷),所述特定状态(例如,电荷)可指示所需逻辑状态。

在一些情况下,本地存储器控制器260可被配置成在存储器裸片200的一或多个存储器单元205上执行读取操作(例如,感测操作)。在读取操作期间,可确定存储于存储器裸片200的存储器单元205中的逻辑状态。在一些情况下,可在单个读取操作期间感测多个存储器单元205。本地存储器控制器260可以识别将执行读取操作的目标存储器单元205。本地存储器控制器260可以识别与目标存储器单元205电子通信的目标字线210和目标数字线215(例如,目标存储器单元205的地址)。本地存储器控制器260可激活目标字线210和目标数字线215(例如,将电压施加到字线210或数字线215),以存取目标存储器单元205。目标存储器单元205可响应于偏置存取线将信号传递到感测组件245。感测组件245可放大信号。本地存储器控制器260可起动感测组件245(例如,锁存感测组件)且由此比较从存储器单元205接收到的信号与参考信号250。基于所述比较,感测组件245可确定存储于存储器单元205上的逻辑状态。作为读取操作的部分,本地存储器控制器260可将存储于存储器单元205上的逻辑状态传送到外部存储器控制器105(或装置存储器控制器155)。在一些情况下,可对在读取操作期间存取的数据中的错误的值计数。另外,并且如本文所描述,错误可编程阈值(例如,动态阈值、非静态阈值)可以被配置成用于存储器装置。因此,本地存储器控制器260可确定是否已经满足了所计数的错误的数量,且如果是,那么就可发射对达到阈值的指示。在一些情况下,可基于在读取操作期间存取的数据类型,选择性地调整可编程阈值。另外或替代地,多个阈值可以被配置成用于存储于存储器单元205中的相应类型的数据。

在一些存储器架构中,存取存储器单元205可使存储在存储器单元205中的逻辑状态降级或毁坏。举例来说,在dram架构中执行的读取操作可能使目标存储器单元的电容器部分或完全放电。本地存储器控制器260可以执行重写操作或刷新操作以将存储器单元恢复到其原始逻辑状态。本地存储器控制器260可在读取操作之后将逻辑状态重写到目标存储器单元。在一些情况下,重写操作可被视为读取操作的部分。

图3说明根据本文中所公开的方面的支持错误管理和传信的动态控制的存储器装置310的框图300。存储器装置310可以是参考图1描述的存储器装置110的实例。在一些实例中,存储器装置310可包含支持(例如,数据中的)错误检测和校正增强的一或多个组件。存储器装置310可包含命令解码器315、存储器阵列320、数据输入/输出(i/o)325、错误校正码(ecc)逻辑335和错误计数器340。在一些情况下,存储器装置可被配置成基于其中包含存储器装置310的系统的操作条件来执行错误检测和校正,其中不同条件可与不同的错误管理程度相关联。

命令解码器315可被配置成控制由存储器装置310执行的过程。作为实例,命令解码器315可被配置成接收信号,例如时钟信号和一或多个命令,其中所述命令可包含控制器发射的写入命令或读取命令。在一些实例中,命令解码器315可与存储器装置310的其它组件耦合,例如列解码器(例如参考图2所描述的列解码器225),或行解码器(例如参考图2所描述的行解码器220),或其组合。命令解码器315可解码所接收命令并且将信号发射到存储器装置310的其它组件。举例来说,命令解码器315可产生并发射地址(例如,存储器组地址、行地址、列地址)以用于根据写入或读取命令存储或获取存储器阵列320中的数据。另外,可在数据i/o325上从存储器装置310发射和/或在存储器装置310处接收数据。举例来说,所述命令可包含写入命令,且可在存储器装置310处经由数据i/o325接收数据并存储于存储器阵列320处。替代地,所述命令可包含读取命令,且可从存储器阵列320读取数据并稍后经由数据i/o325发射到另一装置(例如,控制器)。

在一些情况下,存储器装置310可被配置成检测和/或正常的各种错误(例如,使用edc码)。举例来说,ecc逻辑335可对存储器装置310处的数据执行各种功能,且ecc逻辑可使用从命令解码器315接收的信号和来自存储器阵列320的数据管理错误检测和/或校正。ecc逻辑335可包含ecc产生和检查组件345以及ecc校正组件350,其对经由数据i/o325接收和发射的数据执行相应功能。

举例来说,在其中可在命令解码器315处接收到写入命令的情况下,经由数据i/o325接收到的数据可在无变化下写入到存储器阵列320。另外,ecc产生和检查组件345可产生用于经由数据i/o325接收到的数据的ecc位集,且ecc位可写入到存储器阵列320并存储于存储器阵列320处。在一些情况下,存储器阵列320可包含用于存储不同类型的信息的不同部分,或可包含冗余存储器单元、组和/或阵列以增强数据管理和错误保护(例如,通过提供在其中可存储备份或支持数据的方位)。举例来说,存储器阵列320可包含用于存储产生的ecc位的第一部分330-a,而第二部分330-b可用于存储经由数据i/o325接收到的数据。

响应于读取命令,可从存储器阵列320(例如,阵列320-b)读取数据,ecc产生和检查组件345和ecc校正组件350可通过使用存储于阵列320-b中的ecc位计算校验和,检查读取数据有无错误。更具体地,可从阵列320-b读取ecc位,其中ecc位可对应于可从阵列320-b读取的数据。错误逻辑335接着可对照ecc位检查读取数据以识别读取数据中的任何错误。在一些情况下,在经由数据i/o325发射读取数据之前,可使用ecc位校正识别的任何错误。此类技术有时可被称作裸片上ecc。

在一些实例中,存储器装置310可为用于任务关键性应用(例如,服务器、自动驾驶汽车)的系统的部分,且edc码可用于防止发生存储器失效。举例来说,存储器装置310可使用软件算法监测存储器失效并采取动作校正失效,直到并包含推荐更换功能异常装置。在这类情况下,存储器装置310可校正失效(例如,单个单元失效)并在存取操作(例如,读取操作)期间提供经校正数据。另外,存储器装置310可具有错误计数器340以对检测到和/或经校正错误的数量计数。存储器装置310可例如在接收到命令之后,依据请求报告此计数(例如,使用指示或标记)。在其它实例中,例如当已经满足了错误阈值时,存储器装置310可自主地发射在错误计数器340处计数的错误数量的指示。

在一些方面中,可通过可编程错误阈值或错误标记输出或裸片上地址总线保护或命令/地址奇偶校验或crc或温控内部刷新速率或其组合来增强存储器装置310实施的裸片上ecc。在一些情况下,存储器装置310可响应于检测到的错误而发挥功能,例如错误校正、传信到主机装置、命令终止等,其中所述功能可基于存储器装置310的操作条件。在一些情况下,存储器装置310可选择性地发射受损位报告,其中可不报告单失效,而是超过错误阈值的失效数量可触发传信到主机装置。在一些情况下,存储器装置310可实施允许数据错误校正的协议,其中错误校正可与额外传信相关联。举例来说,存储器装置可识别错误并将信号发到存储器控制器或主机装置以采取校正性动作。

在一些情况下,可编程错误阈值可以被配置成用于存储器装置310。举例来说,主机装置可确定基于特定应用或操作可允许的错误阈值数量。存储器装置310可配置有错误阈值数量,且存储器装置310可确定一旦已达到错误阈值数量(例如,基于错误计数器340产生的计数),错误标记可传信到主机装置以指示已经满足了阈值。另外或替代地,可编程错误阈值可为错误阈值频率,举例来说,其中错误计数器340计数的错误集出现的频率(例如,在意时间段内)可足以可满足错误阈值频率。在一些实例中,错误阈值可为一种错误类型(例如,单一存储器单元错误、多个存储器单元错误)的最大错误计数。在其它情况下,错误阈值可为在存储器装置310的方位处识别的错误阈值(例如,在存储器装置310的特定组处出现的错误阈值)。错误阈值也可由主机装置配置为包含不同阈值的组合。举例来说,错误阈值可为第一错误类型的阈值数量,或可为在存储器装置310的第一组处超过阈值频率出现的错误阈值。另外或替代地,错误阈值可为在存储器装置310的特定方位处检测到的错误阈值类型。在任何情况下,存储器装置310可包含除了所说明的那些组件以外的或不同组件以确定错误集满足错误阈值。

另外,错误阈值可为可由主机装置或存储器控制器编程的,其中不同类型的数据或存储存储器中的不同方位于中的数据或这两者可配置有不同错误阈值。举例来说,具有严格安全裕度的系统可容许低错误率(如果有的话),且用于与系统的操作相关联的数据的可编程错误计数可基于安全裕度进行设置。存储器装置310也可经编程以制止在报告其它错误时报告满足阈值的一些错误。举例来说,存储器装置310可被配置成制止报告可校正失效(例如,单个单元失效)同时仍报告不可校正失效(例如双单元或多单元错误)。

当已达到错误阈值时发射到主机装置的信号可在主机装置所述触发一或多个动作,例如中断。所述中断可允许主机装置分析失效并且相应地作出响应(例如,通过重新发出命令)。在中断之后,主机可知道先前识别的错误的位置,并且可确定将数据写入到存储器的哪些部分。替代地,如果写入到存储器的先前具有错误的部分,那么主机装置可确定使用存储器装置310的冗余部分以确保存在用于正在写入到可容易发生失效的方位的数据的备份/保护。

除了对数据中的错误数量计数之外,存储器装置310可对存储器阵列320的一部分(例如,每存储器组和/或存储器装置310的其它部分)内的失效数量计数。存储器装置310可报告存储器阵列320的给定部分的错误数量,且主机可使用此信息,举例来说,忽略或避开存储器阵列320的具有高失效率(与存储器阵列320的其它部分相比)的区域。主机装置可继续使用存储器阵列320的其它非失效部分(或具有相对较低位错误率的部分)且因此保留存储器装置310的大部分可用容量。在一些情况下,每当刷新单元(或字、行等)时,存储器装置310可检查并校正错误。另外或替代地,当接收到读取命令时可出现错误检查和校正。

在一些情况下,存储器装置310可使用错误阈值改变(例如,自主地增加或自主地调整)内部刷新率,这可基于存储器装置310处的计数的错误数量(例如,满足经配置阈值)。举例来说,存储器装置310可每次起始刷新命令刷新两倍的单元,这可提供一定程度的错误管理和预防。在一些方面中,存储器装置310可将一或多个部分或组件的温度发射到主机装置以辅助错误管理。作为实例,存储器装置310可发射结温度的指示,其中温度指示可在错误指示/标记内发射到主机装置(例如,响应于达到阈值)或在单独信号中发射到主机装置。主机装置可相应地采取措施来降低报告的结温度。举例来说,可使用温度传感器确定存储器装置310的一部分是否在存储器装置310的操作过程中已变得太热(例如,高于最优温度)。在这类情况下,可基于存储器装置310处报告的结温度修改(例如,加倍或以其它方式提高)刷新率。另外或替代地,可降低存储器装置310的操作频率以降低存储器装置310的温度。其它技术还可以用于降低存储器装置310的所报告温度。

本文中所描述的额外技术可用以识别从主机装置接收的信息中的错误。举例来说,存储器装置310的ecc逻辑335可被配置成检查在命令解码器315处接收到的命令的完整性。在这类情况下,命令发射可受到奇偶校验或其它校验位保护。也就是说,与错误检测码相关联的额外位可包含在所发射的命令中。如果所接收的命令无错误,那么存储器装置310可执行命令,并且也可将命令不包含错误的指示传信到主机装置。

替代地,在奇偶校验或校验和未通过的情况下,存储器装置310可能不执行所接收的命令(例如,归因于所检测到的错误)并且向主机装置报告错误。在一些情况下,存储器装置310也可进入不同状态(例如,锁定状态)并且停止执行稍后从主机装置接收的指令。在识别错误后,主机装置即刻可将命令发到存储器装置310解除所述状态(例如,锁定状态),且主机装置可重新发射失效(和任何稍后的)命令。此类技术可保持存储于存储器装置310处的数据完整性。

在其它情况下,存储器装置310可将错误检测码(例如,奇偶校验或crc保护)应用于内部总线,例如行和列地址总线。可在发射的组、行和列地址中出现随机错误(例如,位翻转),这可导致敞开、存取或闭合阵列的不正确区段。应用于这些总线的错误检测码可保护总线以免发生此类错误并且添加额外程度的错误保护。在一些实例中,用于将错误检测码应用于内部总线的触发可基于来自主机装置的信号或其它因素,包含从存储器装置310处于使用中的特定应用或其组合读取的数据中检测到的错误阈值数量。

主机装置可分析存储器装置报告的失效和错误并确定采取的校正性动作。作为实例,主机装置可确定制止使用存储器组中的特定存储器组或可确定仅使用存储器装置310的一部分。在其中采取的避开或停用造成或定期经历错误的存储器装置310的校正性动作引起系统性能损耗的情况下,系统可逐渐停用任选特征并保持必选(例如,任务关键性)特征存在。在一些情况下,主机装置可使用接收到的指示作为执行额外操作的触发,如用以识别所指示的失效的起因和/或解决方案的服务例程。

在一些实例中,检查和报告错误可花费时间并减少带宽(例如,平均存储器带宽)。因而存储器装置310中的逻辑可用于启用和停用本文所描述的各种安全性特征,所述安全性特征可基于应用或数据的错误容许度。举例来说,关键程序代码可能不容许任何失效,且本文所描述的安全性特征中的每一个可全部启用。相反地,像素数据可不被视为关键的(可能很难检测到像素失效,且可在存储器装置310中以相对高速率(例如,每秒60帧)覆写或替换像素数据)。在一些情况下,应用可利用存储器装置310支持的最大带宽且因此可停用本文所描述的错误检测、校正和管理方案。

另外或替代地,可在存储器装置310处动态地启用或停用所描述的技术的某一组合。更一般地说,一些应用可使用更多带宽,因此可实施较少错误管理技术,而其它应用对可靠性和数据完整性的需求可更重要性,因此存储器带宽可能不那么重要。因此,同一存储器装置310可用于各种应用或系统而不需要每一应用或每一系统定制存储器装置310。存储器装置310因此可用于各种情况(从pc到机动车),这可避免用于专门化存储器系统的制造和设计成本。

图4说明根据本文中所公开的方面的支持错误管理和传信的动态控制的错误管理组件400的框图。错误管理组件400可为存储器装置的组件的实例,例如参考图1所描述的存储器装置110或参考图3所描述的存储器装置310。在一些实例中,错误管理组件400可为参考图3所描述的错误计数器340的实例。错误管理组件400可支持针对不同存储器组使用相应错误阈值。因而,错误管理组件400可包含对应于存储器装置的相应部分(例如,存储器组、阵列)的多个错误逻辑组405(例如,错误逻辑组405-a到405-n)。

每一错误逻辑组405可包含错误计数器410、比较器415和错误计数寄存器420(其可存储表示最大错误计数(即,阈值)的一或多个位的值)。作为实例,第一错误逻辑组405-a可包含第一错误计数器410-a、第一比较器415-a和第一错误计数寄存器420-a,其中第一错误计数器410-a、第一比较器415-a和第一错误计数寄存器420-a执行用于从第一存储器组检索的数据的错误计数功能。类似地,第二错误逻辑组405-b可包含用于第二存储器组的第二错误计数器410-b、第二比较器415-b和第二错误计数寄存器420-b。每一错误逻辑组405的最大错误计数(例如,错误阈值)可例如通过命令解码器(例如参考图3所描述的命令解码器315)写入到相应错误计数寄存器420。另外或替代地,中心寄存器可保持用于每一错误逻辑组405的相应阈值。

在一些实例中,最大错误计数可基于存储器的对应部分中所存储的数据的敏感性而个别地被配置成用于每一错误逻辑组405。作为实例,主机装置可用第一错误阈值配置第一错误逻辑组405-a并且用第二错误阈值配置第二错误逻辑组405-b。在一些情况下,所配置的错误阈值可基于存储于存储器装置的相应部分处的数据类型。作为实例,第一错误逻辑组405-a可与包含任务关键性数据(例如,与高优先级应用/操作相关联的数据)的存储器组相关联,而第二错误逻辑组405-b可与包含图像、音乐或视频数据的存储器组相关联。因此,归因于任务关键数据的更严格容许度,第一阈值可配置成低于第二阈值。在一些情况下,通过使用所描述的每组错误阈值,可基于存储器装置的应用动态地调整每一组。

在一些情况下,每一错误逻辑组405可具有第一(例如,默认)最大错误计数,且主机装置可基于写入到对应存储器组的数据修改相应错误逻辑组405的第一(例如,默认)最大错误计数。举例来说,默认最大错误计数可为某一预配置的数量。在其它情况下,默认配置可为存储器装置针对每一存储器组不具有错误阈值数量且配置可用错误阈值数量更新每一错误计数寄存器420。在一些实例中,可使用查找表配置每一错误计数寄存器420的最大错误计数以及其它实例。作为实例,配置可向存储器装置通知特定查找表,所述查找表指示可针对每一错误逻辑组405设置哪些阈值。在一些情况下,不同查询表可用于不同应用。

当从存储器的一部分检索数据时,错误计数器410可检测和计数数据中的错误数量。所述计数可随着检测到的每一错误而递增。另外,错误数量可由错误计数器410传信到比较器415,且比较器415可将错误计数与从错误计数寄存器420接收的最大错误计数阈值进行比较(例如,通过计算当前错误计数和最大错误计数之间的差)。接着可将比较的结果传送到错误识别管理器425。因此,每一比较器415-a、415-b到415-n可将其自己比较的结果发射到错误识别管理器425。

错误识别管理器425可基于从每一比较器415接收的信号,确定错误逻辑组405中的一或多个是否对满足所述错误逻辑组405的最大错误阈值的错误计数。在一些情况下,错误识别管理器425可实施布尔逻辑,例如or操作,以确定比较器415中的一或多个是否检测到满足错误阈值的错误计数。举例来说,比较器415-a到415-n的输出经or操作,且如果超过n个错误逻辑组405中的任一个的最大错误计数,那么错误识别管理器425可确定错误集满足经配置阈值。应注意,or操作是可由错误识别管理器425实施的逻辑的一个实例,且可使用不同逻辑或算法确定一或多个错误逻辑组405是否满足了错误阈值。

在其中已达到最大错误计数的情况下,错误识别管理器425可将已经满足了阈值的指示发射到主机装置,并且可提供其它信息,例如与错误相关联的错误逻辑组(和存储器组)。举例来说,发送到主机装置的信息可包含各种粒度度数,例如每一失效地址的信息或在存储器装置处发生失效的通用指示。主机装置可使用此信息分析失效并且确定如何校正失效,或使另外的失效降到最低,或这两者。在其它情况下,存储器装置可校正从存储器组检索的数据中的错误,但主机装置可基于来自错误识别管理器425的传信,而知道经校正错误。

在一些实例中,存储器装置可被配置成确定向主机装置报告哪些错误。举例来说,存储器装置可识别一或多个错误逻辑组405中的错误集,且基于数据类型、数据方位或其组合,以及其它实例,存储器装置可确定向主机装置报告哪些错误。另外或替代地,在任何错误逻辑组405(例如,错误逻辑组405-a到405-n)具有满足相应阈值的错误的情况下,可通知主机。主机装置也可配置存储器装置以使得向主机通知某些错误(例如,双单元错误、第一类型的错误)不通知其它错误(例如,第二类型的错误)。因而,配置可动态地修改存储器装置传信哪些错误,这可减少系统内的传信开销。

此类技术还可以用于当较低优先级数据失效时,尤其是在可校正所述类型的数据的情况下,避免锁定存储器装置。在一些情况下,如果一开始就在特定组中检测到错误,那么可基于所述错误,针对所述组、一或多个其它组或这两者调整阈值。举例来说,如果基于错误检测存储器组看起来正在失效,那么可设置下限阈值以确保更早捕获到错误,使得主机装置可确定避免使用所述存储器组。

图5示出根据本文中所公开的方面的支持错误管理和传信的动态控制的系统中的过程流500。在一些实例中,过程流500的方面可由主机装置(例如,控制器)和存储器装置实施,所述主机装置和存储器装置可为参考图1所描述的对应装置的实例。然而,本文所描述的操作和方面不限于使用这些组件,且具体来预期其它替代方案并落入本文中所公开的概念的范围内。过程流可说明用以校正错误并防止系统中的另外错误的可编程错误阈值和过程的特征。

在505处,主机装置可确定错误计数的值,例如作为一个实例,最大错误计数,且可用所述值配置存储器装置。举例来说,主机装置可将错误阈值的值写入到存储器装置的寄存器(例如参考图4所描述的一或多个模式寄存器或错误计数寄存器420)中。最大错误计数可对应于特定类型的数据(例如,任务关键数据)的错误阈值,或存储在存储器装置的一部分(例如,特定存储器组)内的数据的错误阈值。在一些情况下,存储器装置的阈值和行为的配置可在存储器装置的操作期间为可调适的。

在510处,存储器装置可检查从存储器阵列检索的数据中的错误。举例来说,作为读取操作的部分,存储器装置可从一或多个存储器阵列检索数据并且可利用edc识别检索到的数据中的一或多个错误。在一些情况下,存储器装置可利用ecc识别并校正数据中检测到的错误(例如,使用参考图3所描述的ecc逻辑)。当识别了错误时,存储器装置可使错误计数器递增。特定来说,每当从存储器读取了数据时,存储器装置可检查所述数据是否有错误。如果存在错误,那么可将错误计数与最大可允许错误计数(例如,错误阈值)进行比较。在一些情况下,存储器装置可响应于(例如,从主机装置)接收到的命令而报告错误计数。

在515处,存储器装置可确定错误计数是否满足在505处从主机装置接收的经配置阈值。如果错误计数不满足阈值(例如,错误数量小于阈值),那么存储器装置可继续监测从存储器阵列检索的数据并且检测数据内的错误。存储器装置可相应地继续在检测到任何其它错误的情况下使错误计数递增。

如果错误计数确实满足经配置阈值(例如,错误数量大于或等于阈值),那么存储器装置可将已经满足了阈值的指示发射到主机装置。在一些情况下,发送到主机装置的信号可包含与在存储器装置处检测到的错误相关联的信息。

作为实例,信息可包含遇到错误的数据的指示,或检索到的数据的方位、发生失效的时间(例如,基于时钟信号)等。在一些情况下,在520处,存储器装置可基于满足了最大错误计数而进入锁定状态。锁定状态可保存存储器的状态,使得可识别错误并且采取校正性动作以防止另外错误。锁定状态可包含执行自刷新以确保存储器中的数据不会另外丢失。在一些实例中,存储器装置可向主机装置报告存储器装置已进入锁定状态。锁定状态的指示可与已经满足了阈值的指示一起发射或可单独发射到主机装置。在一些情况下,锁定状态可包含自刷新状态。在锁定状态中,存储器装置可关闭所有存储器组并且停止执行命令。

在525处,主机装置可执行对所报告的错误的分析并确定失效起因。在一些实例中,主机可例如通过读取从存储器装置接收的信息,分析错误的状态。由主机装置执行的失效分析可辅助确定如何管理遇到的错误(例如调整刷新率或操作频率或这两者)。另外,在530处,主机装置可基于从存储器装置接收的信息确定错误是否可恢复。可恢复的错误可为可通过重新发射失效的数据进行校正的错误。在其它实例中,可恢复的错误可为可通过ecc校正的数据损坏。可恢复的数据还可包含可以一冗余水平存储的数据并且可从存储器装置的另一方位(或另一存储器装置)获取。

如果主机检测到不可恢复的失效,那么可停用存储器装置(或存储器装置部分)。举例来说,在535处,可基于在来自存储器装置的传信中识别的不可恢复的错误,停用存储器装置,且主机装置稍后可使用不同存储器装置用于另外的存取操作。此类技术可使得系统能够保持在操作中同时避开存储器的与数据错误相关联的部分。

替代地,主机装置可确定错误是可恢复的,且主机装置可重置错误计数。举例来说,在540处,主机装置可重置一或多个错误组(例如参考图4所描述的错误组)中的错误计数。在545处,主机装置可基于可恢复的错误重置锁定。在这类情况下,主机装置可将从锁定状态中转变出的信令或命令发射到存储器装置。

在550处,主机装置可重新发出命令(例如,从发生失效的时刻,在发生失效之前直到发生失效之后的持续时间内)。举例来说,可能已响应于第一存取命令检测到错误,主机装置可能稍后已发出额外存取命令。然而,因为存储器装置在520处进入锁定状态,所以可能已忽略或基于先前检测到的错误满足阈值不执行额外存取命令。因此,主机装置可在550处重新发出第一命令和/或额外命令。

在555处,系统和主机装置可继续操作。举例来说,存储器装置可继续接收和执行来自主机装置的命令。当接收到读取命令时,存储器装置可像在510处一样检查错误,并且可例如在515处确定是否已经满足了最大错误计数等。

图6示出根据本文中所公开的方面的支持错误管理和传信的动态控制的系统中的过程流600。在一些实例中,过程流600的方面可由控制器605和存储器装置610实施,所述控制器605和存储器装置610可为参考图1所描述的对应装置的实例。本文中的公开内容不限于包含控制器或存储器装置或这两者的实例。本文中所描述的操作和方面不限于这些组件的使用,且预期其它替代方案。过程流600可说明针对在存储器装置处接收到的命令使用edc保护。

在615处,控制器605可将存取命令发射到存储器装置610。在一些情况下,所发射的命令可包含用以当存储器装置610接收到命令时检查所述命令的完整性的一或多个位。举例来说,存取命令可包含错误检测码,其包含一或多个奇偶校验或其它校验位。

在620处,控制器605可任选地存储发射到存储器装置610的命令。作为实例,控制器605可存储发送到存储器装置610的最后m个命令,其中可保持所述命令直到控制器605接收到所接收的命令无错误(例如,基于与每一命令包含在一起的错误检测码)的指示。在一些情况下,所述命令当发射到存储器装置610时可由控制器605缓冲。

在625处,存储器装置610可基于与存取命令相关联的错误检测码,确定存取命令是否包含错误。举例来说,存储器装置可对所接收的命令执行奇偶校验或校验和。如果奇偶校验或校验和通过,那么可确定接收到的命令无错误。替代地,如果奇偶校验未通过,那么可确定接收到的命令有错误。

在其中存取命令包含错误的情况下,存储器装置可在630任选地进入锁定状态。因而,存储器装置可制止执行任何进一步的存取命令。举例来说,控制器可在635处发射第二存取命令,但因为存储器装置处于锁定状态,所以可不执行第二存取命令。在一些情况下,控制器605可不知道错误直到从存储器装置610接收到指示。

在640处,存储器装置610可基于存取命令和所述确定将在存取命令中是否检测到错误的指示发射到控制器605。举例来说,存储器装置610可在625处基于所述确定发射存取命令无错误的指示。在这类情况下,存储器装置可基于存取命令不包含错误的确定,执行存取命令。以此方式,控制器可接收在存储器装置610处接收到无错误的存取命令的指示,在此情况下,可在控制器605处从存储装置移除所发射的命令的存储版本。

替代地,存储器装置610可在625处基于所述确定发射存取命令包含一或多个错误的指示。在这类情况下,控制器605可在645处识别存取命令的错误,这可基于从存储器装置610接收的指示。举例来说,存储器装置610可在所述指示中包含关于错误的信息、如何在所接收的存取命令中检测到错误、何时接收到存取命令等。因而,控制器605可确定错误可通过例如同一命令的重新发射进行校正。因此,在650处,控制器605可将退出锁定状态的请求发射到存储器装置610。

在655处所述锁定状态后,存储器装置610即刻可能能够从控制器605接收额外指令。在660处,控制器605可重新发射存取命令(例如,615处发送的命令)以及归因于存储器装置610的锁定状态可能尚未执行的任何稍后命令(例如,635处发送的命令)。在这类情况下,存储器装置610可继续操作,包含使用校验位集检查接收到的存取命令是否有错误,且存储器装置可提供指示接收到无错误的存取命令的传信。

图7示出说明根据本文中所公开的方面的支持错误管理和传信的动态控制的方法700的流程图。方法700的操作可由参考图1-6所描述的存储器装置或其组件实施。举例来说,方法700的操作可由参考图3所描述的存储器装置310或参考图6所描述的存储器装置610执行。在一些实例中,存储器装置可执行指令或代码集以控制存储器装置的功能元件执行本文所描述的功能。

在705处,存储器装置可从主机装置(例如,控制器)接收用于存储器装置处的数据的错误阈值的配置。举例来说,错误阈值的配置可指示特定类型的数据的最大错误数量,或存储于存储器装置的特定方位处的数据的最大错误数量,或其组合。以此方式,可针对与不同操作相关联的数据以不同方式设置可编程阈值,进而启用用于管理存储器装置中的数据失效的动态可控技术。可根据参考图1-6所描述的方法执行705的操作。

在710处,存储器装置可确定从存储器装置检索的数据中的错误集。举例来说,当从一或多个存储器阵列获得数据(例如,响应于存取命令)时,存储器装置可识别检索到的数据中的一或多个错误(例如,使用错误检测码)。存储器装置可相应地对所识别的一或多个错误计数。另外或替代地,存储器装置可识别并校正错误(例如,使用错误校正码)并对数据中的经校正错误的数量计数。可根据参考图1-6所描述的方法执行710的操作。

在715处,存储器装置可基于所述配置确定所述错误集满足阈值。在这类情况下,存储器装置可将数据中的所计数的错误与从主机装置接收的经配置阈值进行比较。因而,如果所识别的错误集满足经配置阈值,那么存储器装置可确定错误已超过数据或存储所述数据的方位处的可允许失效数量。可根据参考图1-6所描述的方法执行715的操作。

在720处,存储器装置可基于确定错误集满足阈值,将已经满足了阈值的指示发射到主机装置。在一些实例中,存储器装置可响应于确定已经满足了错误阈值而发射指示。另外或替代地,存储器装置可响应于从主机装置接收的相关联命令而发射指示。可根据参考图1-6所描述的方法执行720的操作。

在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法700。所述设备可包含用于以下操作的特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):从主机装置接收用于存储器装置处的数据的错误阈值的配置;确定从所述存储器装置检索的数据中的错误集;基于所述配置确定所述错误集满足所述阈值;和基于确定所述错误集满足所述阈值,将已经满足了所述阈值的指示发射到所述主机装置。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:从所述主机装置接收发射可能已经满足了所述阈值的所述指示的命令,其中可响应于所述命令发射所述指示。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:针对所述存储器装置中的一组(例如,存储器组)检测所述错误集,其中确定所述错误集满足所述阈值可基于检测到所述组具有所述错误集;和将所述错误集的指示发射到所述主机装置。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于确定所述错误集,针对所述数据中的所述错误集中的每一错误使计数器递增;和基于针对所述错误集中的每一错误使所述计数器递增,使所述存储器装置在制止执行存取命令的第一模式中操作。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述错误集是可恢复的,从所述主机装置接收重置所述计数器的命令;和基于所述错误集是可恢复的,使所述存储器装置在其中执行存取命令的第二模式中操作。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述错误集是不可恢复的,停用所述存储器装置(例如,通过进入锁定状态)。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于与从所述存储器装置检索的所述数据相关联的错误校正码,确定所述错误集;使用所述错误校正码校正所述数据中的所述错误集,其中校正所述错误集可基于接收到存取命令或刷新所述存储器装置的一部分的命令;和将包含所述经校正错误集的所述数据发射到所述主机装置。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于错误校正码,确定所述错误集中的第一子集是可校正错误;和基于所述确定所述错误集指的所述第一子集可为可校正错误,制止发射可校正错误的所述第一子集的指示。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述错误校正码,确定所述错误集中的第二子集可为不可校正错误;和基于所述确定所述错误集中的所述第二子集可为不可校正错误,将所述不可校正错误的指示发射到所述主机装置。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于检测到所述错误集,调整所述存储器装置的刷新率。本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:识别所述存储器装置的温度(例如,结温度);和基于检测到所述错误集,将所述存储器装置的所述温度的指示发射到所述主机装置。在本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例中,所述错误阈值包含错误阈值数量、或错误阈值类型、或所述存储器装置的方位处的错误阈值、或错误阈值频率,或其组合。

本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:接收指示是否执行对所述错误集满足所述阈值的所述确定、或是否执行所述指示的所述发射或其组合的信号,其中所述信号可基于存储于所述存储器装置处的所述数据;和基于所述信号,确定是否执行对所述错误集满足所述阈值的所述确定、或是否执行所述指示的所述发射、或其组合。在本文所描述的方法700、设备和非暂时性计算机可读媒体的一些实例中,所述阈值的所述配置可基于所述数据的类型、或所述存储器装置处的所述数据的方位,或其组合。

图8示出说明根据本文中所公开的方面的支持错误管理和传信的动态控制的方法800的流程图。方法800的操作可由参考图1-6所描述的存储器装置或其组件实施。举例来说,方法800的操作可由参考图3所描述的存储器装置310或参考图6所描述的存储器装置610执行。在一些实例中,存储器装置可执行指令或代码集以控制存储器装置的功能元件执行本文所描述的功能。

在805处,存储器装置可从主机装置接收用于存取存储器装置处的数据的存取命令。存取命令可包含例如读取或写入数据到存储器阵列的指令。可根据参考图1-6所描述的方法执行805的操作。

在810处,存储器装置可基于与存取命令或存储器装置的总线相关联的错误检测码,确定存取命令是否包含错误。在一些实例中,错误检测码包含一或多个校验位。举例来说,错误检测码可为附加到存取命令的奇偶校验位,且存储器装置可基于包含的奇偶校验位确定奇偶校验检查是通过还是未通过。在一些情况下,错误检测码可与存储器装置的特定总线相关联并且可用于确定响应来所接收到的存取命令使用的地址(例如,行地址、列地址)中是否存在错误(其中可能已接收到无错误的存取命令)。也就是说,命令和地址到存储器阵列的传播可具有可通过使用错误检测码检测到的错误。可根据参考图1-6所描述的方法执行810的操作。

在815处,存储器装置可基于存取命令和所述确定发射在存取命令或总线中是否检测到错误的指示。在这类情况下,如果存取命令或总线包含基于错误检测码识别的错误,那么存储器装置可向主机装置通知命令包含错误。另外或替代地所述指示可用信号通知错误引入到地址中,这可能已在响应于存取命令而存储或获得数据中引起冲突。可根据参考图1-6所描述的方法执行815的操作。

在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法800。所述设备可包含用于以下操作的特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):从主机装置接收存取存储器装置处的数据的存取命令;基于与存取命令或所述存储器装置的总线相关联的错误检测码,确定所述存取命令是否包含错误,所述错误检测码包含一或多个校验位;和基于所述存取命令和所述确定,发射在所述存取命令中是否检测到错误的指示。

本文所描述的方法800、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述错误检测码确定所述存取命令不包含错误,基于所述确定执行所述存取命令。本文所描述的方法800、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:至少部分地基于所述确定,将所述存取命令无错误的指示发射到所述主机装置。

本文所描述的方法800、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述错误检测码确定所述存取命令包含错误,基于所述确定制止执行所述存取命令。本文所描述的方法800、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:至少部分地基于所述确定,将所述存取命令包含所述错误的指示发射到所述主机装置。

本文所描述的方法800、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:通过所述存储器装置转变到制止执行所述存取命令和在所述存取命令之后接收到的一或多个额外命令的状态;基于所述错误可校正,从所述主机装置接收退出所述状态的命令;和基于所述命令退出所述状态,接收具有所述经校正错误的所述存取命令的重新发射。

图9示出说明根据本文中所公开的方面的支持错误管理和传信的动态控制的方法900的流程图。方法900的操作可由参考图1-6所描述的控制器或其组件实施。举例来说,可由参考图6所描述的控制器605执行方法900的操作。在一些实例中,控制器可执行代码集以控制装置(例如,存储器装置,可包括参考图1所描述的存储器装置110)的功能元件执行本文所描述的功能。

在905处,控制器可确定用于存储器装置处数据的错误阈值的配置。在这类情况下,控制器可确定应用、或与存取命令相关联的数据的类型。举例来说,数据可与任务关键性操作相关联,且控制器可基于任务关键操作的容许度配置相对低阈值。替代地,数据可与图像渲染或视频流式传输相关联,且阈值可相对较高。可根据参考图1-6所描述的方法执行905的操作。

在910处,控制器可基于与数据相关联的存取操作,将阈值的配置发射到存储器装置。可将配置经由与存储器装置耦合的信道发射到存储器装置。可根据参考图1-6所描述的方法执行910的操作。

在915处,控制器可基于在存储器装置处检索到数据,从存储器装置接收已经满足了阈值的指示。在这类情况下,存储器装置可当响应于读取命令从存储器阵列(或存储器阵列的一部分)检索数据时确定满足了阈值。另外,基于满足的阈值,存储器装置可进入其中不执行未来命令的锁定状态。控制器可识别错误,用信号通知存储器装置退出锁定状态并且重新发射从存储器装置获得经校正数据的命令。可根据参考图1-6所描述的方法执行915的操作。

在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法900。所述设备可包含用于以下操作的特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):确定用于存储器装置处的数据的错误阈值的配置;基于与所述数据相关联的存取操作,将所述阈值的所述配置发射到所述存储器装置;和基于在所述存储器装置处检索到所述数据,从所述存储器装置接收已经满足了所述阈值的指示。

本文所描述的方法900、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述数据的类型、或所述存储器装置处的所述数据的方位、或其组合,确定所述阈值的所述配置。

本文所描述的方法900、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:从所述存储器装置接收与所述存储器装置的第一方位相关联的一或多个错误的指示;和基于所述一或多个错误的所述指示,将额外数据写入到所述存储器装置的第二方位,所述第二方位不同于所述第一方位。

本文所描述的方法900、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述所接收的指示,分析所述数据中的与所述阈值相关联的一或多个错误;和基于分析所述一或多个错误,将包含经校正数据的命令发射到所述存储器装置。

图10示出说明根据本文中所公开的方面的支持错误管理和传信的动态控制的方法1000的流程图。方法1000的操作可由参考图1-6所描述的控制器或其组件实施。举例来说,可由参考图6所描述的控制器605执行方法1000的操作。在一些实例中,控制器可执行代码集以控制装置(例如,存储器装置,可包括参考图1所描述的存储器装置110)的功能元件执行本文所描述的功能。

在1005处,控制器可产生与用于存取存储器装置处的数据的存取命令相关联的错误检测码。举例来说,错误检测码可包含使得接收装置(例如,存储器装置)能够确定存取命令在发射期间或之后是否受错误影响的一或多个检查位。可根据参考图1-6所描述的方法执行1005的操作。

在1010处,控制器可将包含错误检测码的存取命令发射到存储器装置。在这类情况下,控制器可使用与存储器装置耦合的一或多个信道发射存取命令。可根据参考图1-6所描述的方法执行1010的操作。

在1015处,控制器可基于错误检测从存储器装置接收在存取命令中是否检测到错误的指示。举例来说,控制器可接收一或多个先前发射的命令当被接收到时包含错误的指示。控制器可重新发射包含错误的任何命令。在其中重复的命令始终存在错误的情况下,控制器可采取停用特定存储器装置并且使用另一存储器装置用于存取操作的步骤。可根据参考图1-6所描述的方法执行1015的操作。

在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法1000。所述设备可包含用于以下操作的特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):产生与用于存取存储器装置处的数据的存取命令相关联的错误检测码;将包含所述错误检测码的所述存取命令发射到所述存储器装置;和基于所述错误检测码,从所述存储器装置接收在所述存取命令中是否检测到错误的指示。

本文所描述的方法1000、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述错误检测码,接收在所述存取命令中检测到错误的指示;基于所述指示,识别所述存取命令中的所述错误;和重新发射具有所述所识别的经校正错误的所述存取命令。

本文所描述的方法1000、设备和非暂时性计算机可读媒体的一些实例可另外包含用于以下操作的操作、特征、装置或指令:将退出制止执行命令的状态的指示发射到所述存储器装置,其中退出所述状态的所述指示可基于所述存取命令中的错误集是可校正的。在本文所描述的方法、设备和非暂时性计算机可读媒体的一些实例中,错误检测码包含与存取命令相关联的一或多个校验位。

应注意,本文中所描述的方法描述可能的实施方案,且操作和步骤可以重新布置或以其它方式加以修改,且其它实施方案是可能的。此外,可组合来自所述方法中的两个或更多个方法的各方面。

可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信令说明为单个信号;然而,所属领域的一般技术人员应理解,信号可表示信号的总线,其中总线可具有各种位宽度。

如本文中所使用,术语“虚拟接地”是指电路的节点保持在近似为零伏特(0v)的电压下但不直接与地面耦合。因此,虚拟接地的电压可在时间上为波动的且在稳定状态下返回到大约0v。可以使用例如由运算放大器和电阻器构成的分压器等各种电子电路元件来实施虚拟接地。其它实施方案也是可能的。“虚拟接地”或“虚拟地接地”是指连接到约0v。

术语“电子通信”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些情况下,可例如使用如开关或晶体管的一或多个中间组件将所连接组件之间的信号流动中断一段时间。

术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传送,在闭路关系中,信号能够通过导电路径在组件之间传送。当例如控制器等组件将其它组件耦合在一起时,组件起始允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。

术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的组件在开关断开时彼此隔离。当控制器隔离两个组件时,所述控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。

本文中使用的术语“层”是指几何结构的分层或薄片。每一层可以具有三个维度(例如,高度、宽度和深度),并且可以覆盖表面的至少一部分。举例来说,层可以是两个维度大于第三维度的三维结构,例如薄膜。层可以包含不同元件、组件和/或材料。在一些情况下,一个层可由两个或两个以上子层组成。在一些附图中,出于说明的目的而描绘三维层中的两个维度。然而,所属领域的技术人员将认识到,层在本质上是三维的。

如本文中所使用,术语“电极”可指电导体,且在一些情况下,可用作到存储器单元或存储器阵列的其它组件的电触点。电极可包含迹线、导线、导电线、导电层等,其提供存储器阵列的元件或组件之间的导电路径。

如本文所使用的术语“光刻”可指使用光致抗蚀剂材料进行图案化并使用电磁辐射使此类材料暴露的工艺。举例来说,可通过例如在基底材料上旋转涂布光致抗蚀剂来在基底材料上形成光致抗蚀剂材料。可通过使光致抗蚀剂暴露于辐射而在光致抗蚀剂中产生图案。举例来说,图案可由在空间上描绘辐射在何处暴露光致抗蚀剂的光掩模界定。举例来说,可接着通过化学处理移除经暴露光致抗蚀剂区域,从而留下所需图案。在一些情况下,暴露区可保留,且未暴露的区可被移除。

如本文中所使用,术语“短接”是指其中在组件之间通过启动所讨论的两个组件之间的单个中间组件来建立导电路径的组件之间的关系。例如,短接到第二组件的第一组件可在这两个组件之间的开关闭合时与第二组件交换信号。因此,短接可以是实现电子通信中的组件(或线)之间的电荷流动的动态操作。

本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些情况下,衬底为半导体晶片。在其它状况下,衬底可为绝缘体上硅(soi)衬底,例如玻璃上硅(sog)或蓝宝石上硅(sop),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。

本文中所论述的开关组件或晶体管可表示场效应晶体管(fet),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型(例如,大部分载流子为信号),那么fet可以被称作n型fet。如果沟道是p型的(即,大部分载流子为电洞),那么fet可被称为p型fet。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型fet或p型fet可导致沟道变得导电。当大于或等于晶体管的阈值电压的电压被施加到晶体管栅极时,晶体管可“接通”或“激活”。当小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“解除激活”。

本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”是指“充当实例、例子或说明”,且不“优选于”或“优于”其它实例。详细描述包含具体细节,以提供对所描述技术的理解。然而,可在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。

在附图中,类似组件或特征可以具有相同的参考标记。另外,可通过在参考标记之后跟着短划线及在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。

可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。

结合本文中的公开内容所描述的各种说明性块和模块可使用通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件、或经设计以执行本文所描述的功能的其任何组合来实施或执行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以实施为计算装置的组合(例如,dsp和微处理器的组合、多个微处理器、与dsp核心结合的一个或多个微处理器,或任何其它此类配置)。

本文中所描述的技术可在硬件、通过处理器执行的软件、固件或其任何组合中实施。如果以由处理器执行的软件来实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或通过计算机可读媒体予以传输。其它实例和实施在本公开和所附权利要求书的范围内。举例来说,归因于软件的性质,本文中所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。并且,如本文中所使用,包含在权利要求书中,项目的列表(例如,以例如“中的至少一者”或“中的一或多者”的短语开始的项目的列表)中所使用的“或”指示包含性列表,使得(例如)a、b或c中的至少一者的列表意指a或b或c或ab或ac或bc或abc(即,a和b和c)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件a”的示范性步骤可基于条件a和条件b两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。

计算机可读媒体包含非暂时性计算机存储媒体以及包含促进将计算机程序从一处传递到另一处的任何媒体的通信媒体两者。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括ram、rom、电可擦除可编程只读存储器(eeprom)、光盘(cd)rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用以携载或存储呈指令或数据结构形式的所要程序代码装置且可由通用或专用计算机或通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、数字订户线(dsl)或例如红外线、无线电和微波的无线技术包含在媒体的定义中。如本文中所使用,磁盘和光盘包含cd、激光光盘、光学光盘、数字多功能光盘(dvd)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也包含在计算机可读媒体的范围内。

提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文所述的实例和设计,而是被赋予与本文所公开的原理和新颖特征一致的最宽范围。

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