掌桥专利:专业的专利平台
掌桥专利
首页

存储器装置的纠错管理

文献发布时间:2023-06-19 11:35:49


存储器装置的纠错管理

本专利申请要求勃姆(Boehm)等人于2019年9月20日提交的题为“存储器装置的纠错管理(ERROR CORRECTION MANAGEMENT FOR AMEMORY DEVICE)”的第16/578,094号美国专利申请和勃姆(Boehm)等人于2018年10月16日提交的题为“存储器装置的纠错管理(ERRORCORRECTION MANAGEMENT FOR A MEMORY DEVICE)”的第62/746,295号美国临时专利申请的优先权,所述申请中的每一者均转让给本受让人,并且所述申请中的每一者均以全文引用的方式并入本文中。

背景技术

下文大体上涉及纠错管理,更具体地,涉及存储器装置的纠错管理。

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

各种类型的存储器装置包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)等。存储器装置可以是易失性或非易失性的。例如FeRAM的非易失性存储器可维持其所存储逻辑状态很长一段时间,即使无外部电源存在也是这样。例如DRAM、SRAM的易失性存储器装置在与外部电源断开连接时可能会丢失其所存储状态。例如DRAM、SDRAM的动态存储器装置可随时间推移而丢失所存储状态,除非它们被周期性地刷新。

在一些情况下,存储在存储器装置中的数据可能会损坏。一些存储器装置可以被配置成在内部纠正此类数据损坏或错误(例如,数据错误),从而恢复损坏之前存储的数据。此类存储器装置可以被称为纠错码(ECC)存储器。可能需要用于确定ECC存储器装置内的ECC功能是否恰当操作的改进技术。

附图说明

图1示出根据本文公开的实例的支持纠错管理的存储器阵列的实例。

图2示出根据本文公开的实例的支持纠错管理的电路的实例。

图3示出根据本文公开的实例的支持纠错管理的系统的实例。

图4到6示出如本文所公开的支持纠错管理的过程流。

图7示出如本文所公开的支持纠错管理的存储器装置的框图。

图8示出如本文所公开的支持纠错管理的主机装置的框图。

图9到15示出的流程图说明如本文所公开的支持纠错管理的一或多种方法。

具体实施方式

存储器装置可在各种条件下作为电子设备的部分进行操作,所述电子设备例如个人计算机、无线通信装置、服务器、物联网(IoT)装置、机动车辆的电子组件等。在一些情况下,支持用于某些实施方案(例如,机动车辆,在一些情况下,具有自主或半自主驾驶能力的机动车辆)的应用程序的存储器装置可受到增加的可靠性约束条件限制。因此,用于一些应用(例如,汽车应用)的存储器装置(例如,动态随机存取存储器(DRAM))可预期以受相对较高的行业规范(例如,较高的可靠性约束)约束的可靠性来操作。

存储在存储器装置中的数据在一些情况下可能被破坏(例如,由于电磁干扰(EMI))。数据损坏可指存储在存储器装置内的数据的逻辑值的无意改变,且因此可指由一或多个存储器单元存储的逻辑值的无意改变(例如,从逻辑一(1)到逻辑零(0),或反之亦然)。位的所存储逻辑值与其原始和预期逻辑值的偏差可被称为错误、位错误或数据错误,且可能由损坏引起。

一些存储器装置可被配置成在内部检测且在至少一些情况下纠正(修复)此类数据损坏或错误,从而恢复损坏前存储的数据。此类检错和纠错可依赖于一或多个纠错码(ECC)(例如,汉明码),并且相关的过程、程序和技术因此可以被称为ECC过程、ECC程序、ECC技术,或者在一些情况下被简单地称为ECC。在存储器装置内部进行的ECC通常可被称为裸片上ECC(无论是在单裸片存储器装置内还是在多裸片存储器装置内),并且支持裸片上ECC的存储器装置可被称为ECC存储器。

验证裸片上ECC是否在存储器装置内恰当操作在一些应用(例如,汽车应用或具有更高可靠性约束的其它应用)中可为合意的,因为裸片上ECC的恰当操作可增强系统的可靠性,而裸片上ECC的不当操作可能会降低系统的可靠性(例如,由于主机装置或系统的其它方面未能修复数据错误和/或错误地依赖裸片上ECC)。存储器装置内的裸片上ECC的不当操作可包含检测或纠正数据错误失败,或误报(例如,当不存在错误时指示检测到此类错误,在所存储数据没有错误的情况下通过“纠正”(“修复”)程序更改数据)。

描述了用于验证裸片上ECC是否在存储器装置内恰当操作的技术。此类技术可支持确定存储器装置内的ECC程序是否恰当操作。因此,此类技术可以是诊断技术,并且可以使主机装置能够确认存储器装置内的ECC程序是否恰当操作,或者检测存储器装置内的ECC程序的失效,从而增强系统的可靠性。

在一些实例中,在接收到针对数据的写入命令时,处于正常(常规)操作模式的ECC存储器装置可以使用ECC基于数据生成相关联的码字(例如,第一码字)。存储器装置可以将数据存储在第一位置(例如,数据阵列或子阵列),并且可以将相关联的码字存储在第二位置(例如,不同的阵列或子阵列,其可以被称为ECC阵列或子阵列)。在随后接收到针对数据的读取命令时,存储器装置可以执行ECC程序。作为ECC程序的一部分,存储器装置可以基于如从第一位置检索的数据并使用先前用于生成第一码字的相同纠错码来生成新码字(例如,第二码字)。

如果第一和第二码字匹配,则存储器装置可以确定数据没有损坏(例如,不存在错误)。如果第一和第二码字不匹配,则ECC过程可确定数据被损坏(例如,存在至少一个错误)。取决于纠错码的强度,ECC程序如果恰当操作则能够纠正或检测一定数量的位错误。例如,如果ECC是单纠错码(SEC)或单纠错双检错码(SECDED),则纠错程序可能够检测到单位错误的发生(数据中的一个位被损坏)并且纠正单位错误(确定数据的原始未损坏值,并基于数据的原始值执行一或多个后续操作)。作为另一实例,如果纠错码是单纠错双检错码(SECDED),则纠错程序可能够检测到双位错误的发生(数据中的两个位被破坏),但是不能纠正双位错误,并且存储器装置可以指示(例如,向主机装置)双位错误的发生。

为了验证裸片上ECC是否恰当操作,可以将有意错误(不匹配)引入存储于存储器装置中的数据或相关联的码字中。例如,可以通过更改(反转)数据或相关联的码字的一定数量的位(例如,一个或两个位)而将有意错误引入到数据或相关联的码字。此后可以执行ECC程序(例如,响应于针对数据的读取命令),并且存储器装置或主机装置可以考虑到有意错误来确定ECC程序的输出是否正确。例如,如果有意错误是单位错误,则存储器装置或主机装置可以确定ECC程序的输出是否反映引入有意错误之前数据的原始值(例如,ECC程序是否恰当修复有意错误)。作为另一实例,如果有意错误是双位错误,则存储器装置或主机装置可以确定ECC程序是否恰当检测并指示双位错误的存在。

首先参考图1-3在存储器系统和存储器装置的上下文中描述本公开的特征。参考图4-6在过程流的上下文中描述本公开的特征。参考图7到15中涉及纠错管理的设备图和流程图进一步说明并描述本公开的这些和其它特征。

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

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

系统100的至少部分可以是主机装置的实例。此类主机装置可以是使用存储器来执行过程的装置的实例,所述装置例如计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、因特网连接装置、一些其它固定或便携式电子装置等。在一些实例中,系统100是图形卡。在一些情况下,主机装置可指代实施外部存储器控制器105的功能的硬件、固件、软件或其组合。在一些情况下,外部存储器控制器105可被称为主机或主机装置。

在一些情况下,存储器装置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中或与所述系统集成。实例可以包含磁盘控制器、声音控制器、图形控制器、以太网控制器、调制解调器、通用串行总线(USB)控制器、串行或并行端口,或外围卡插槽,例如外围组件互连(PCI)或加速图形端口(AGP)插槽。外围组件130可以是本领域技术人员理解为外围设备的其它组件。

I/O控制器135可管理处理器120和外围组件130、输入装置145或输出装置150之间的数据通信。I/O控制器135可管理未集成到系统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和/或存储器单元的特征。在一些情况下,存储器装置可以将数据(数据字)存储在第一位置,例如第一阵列170-a或其部分(子阵列),并且可以将相关联的码字(ECC码字)存储在第二位置,例如第一阵列170-a的不同部分(子阵列)或第二阵列170-b中。

存储器装置110可以是二维(2D)存储器单元阵列的实例或可以是三维(3D)存储器单元阵列的实例。例如,2D存储器装置可以包含单个存储器裸片160。3D存储器装置可以包含两个或更多个存储器裸片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的解码器、逻辑、解码器、放大器、滤波器等。

本地存储器控制器165(例如,存储器裸片160的本地)可被配置成控制存储器裸片160的操作。另外,本地存储器控制器165可被配置成与装置存储器控制器155通信(例如,接收并传输数据和/或命令)。本地存储器控制器165可支持装置存储器控制器155以控制如本文描述的存储器装置110的操作。在一些情况下,存储器装置110不包含装置存储器控制器155,且本地存储器控制器165或外部存储器控制器105可执行本文描述的各种功能。因此,本地存储器控制器165可被配置成与装置存储器控制器155通信,与其它本地存储器控制器165通信,或直接与外部存储器控制器105或处理器120通信。

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

在一些实例中,外部存储器控制器105可以被配置成发起对存储器装置110的ECC诊断程序。例如,外部存储器控制器105可以被配置成将存储器装置110从正常操作模式(存取模式、任务模式)切换到ECC诊断模式。在存储器装置110处于ECC诊断模式的情况下,外部存储器控制器105在一些情况下可以传输先前写入存储器装置110的数据的更改版本,其中数据的更改版本包含一定数量的有意错误。在一些情况下,存储器装置110可以在内部生成数据的更改版本,或者更改相关联的码字以包含一定数量的有意错误。外部存储器控制器105可以将针对数据的读取命令传输到存储器装置110,并且考虑到有意错误来评估存储器装置110的响应性信令是否适当(例如,存储器装置提供的响应性数据是否与原始未损坏数据匹配,或者存储器装置是否恰当检测并指示存在双位错误)。外部存储器控制器105可以考虑到有意错误而基于存储器装置110的响应性信令是否适当来确定由存储器装置110支持的裸片上ECC是否恰当操作。

在一些情况下,作为ECC自诊断程序的一部分,存储器装置110可以自主地(例如,在预定基础上或响应于触发事件)参与类似的程序,并且可以向外部存储器控制器105提供ECC自诊断程序的结果的指示(例如,存储器装置110是否已经确定其裸片上ECC恰当操作的指示)。

在一些情况下,外部存储器控制器105或系统100的其它组件或其在本文描述的功能可由处理器120实施。例如,外部存储器控制器105可以是由处理器120或系统100的其它组件实施的硬件、固件或软件或其某一组合。尽管外部存储器控制器105被描绘为在存储器装置110外部,但是在一些情况下,外部存储器控制器105或其在本文描述的功能可由存储器装置110实施。例如,外部存储器控制器105可以是由装置存储器控制器155或一或多个本地存储器控制器165实施的硬件、固件或软件或其某一组合。在一些情况下,外部存储器控制器105可分布在处理器120及存储器装置110上,使得外部存储器控制器105的部分由处理器120实施,且其它部分由装置存储器控制器155或本地存储器控制器165实施。同样地,在一些情况下,本文中归属于装置存储器控制器155或本地存储器控制器165的一或多个功能可在一些情况下由外部存储器控制器105(与处理器120分离或包含在所述处理器中)执行。

系统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的信号路径。在一些情况下,时钟信号可以是单端的。在一些情况下,时钟信号可以是1.5GHz信号。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)、具有四个符号的脉冲幅度调制(PAM)(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信道可包含任何数量的信号路径。

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

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

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

图2示出根据本公开的各种实例的存储器子阵列200的实例。存储器子阵列200可以是参考图1描述的存储器裸片160的至少一部分的实例。在一些实例中,存储器子阵列200可以被称为存储器裸片、存储器芯片、存储器装置或电子存储器设备。例如,例如存储器芯片的存储器装置可包含子阵列200的多个实例,具有用于从多个实例中选择一或多个子阵列以进行存取操作的附加行、地址、存储体或存储体组解码。存储器子阵列200可以包含可编程以存储不同逻辑状态的一或多个存储器单元205。每一存储器单元205可以是可编程的以存储两个或更多个状态。例如,存储器单元205可被配置成每次存储一个位的数字逻辑(例如,逻辑0和逻辑1)。在一些情况下,单个存储器单元205(例如,多级存储器单元)可被配置成每次存储多于一个位的数字逻辑(例如,逻辑00、逻辑01、逻辑10或逻辑11)。

存储器单元205可以存储表示电容器中的可编程状态的电荷。DRAM架构可以包含电容器,所述电容器包含电介质材料以存储表示可编程状态的电荷。在其它存储器架构中,其它存储装置和组件也是可能的。例如,可使用非线性电介质材料。在一些情况下,存储器单元205存储的数据可能被损坏(例如,存储器单元205存储的位的逻辑值可能由于EMI而无意地改变)。

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

存储器子阵列200可包含布置成网格状图案的存取线(例如,字线210和数字线215)。存储器单元205可以定位在字线210与数字线215的相交处。通过偏置字线210(例如,将电压施加到字线210),可以在其相交处经由数字线215存取存储器单元205。在一些情况下,图2所示的存储器子阵列200可以存储数据(数据字),并且另一存储器子阵列可以存储相关联的码字(ECC码字)。在一些情况下,图2所示的存储器子阵列200的第一部分可以存储数据(数据字),并且存储器子阵列200的第二部分可以存储相关联的码字(ECC码字)。

可以通过行解码器220或列解码器225来控制对存储器单元205的存取。例如,行解码器220可以从本地存储器控制器260接收行地址且基于所接收的行地址来激活字线210。列解码器225可从本地存储器控制器260接收列地址且可基于所接收的列地址而选择数字线215。例如,存储器子阵列200可以包含标记为WL_1到WL_M的多个字线210以及标记为DL_1到DL_N的多个数字线215,其中M和N取决于存储器阵列的大小。因此,通过激活字线210(例如,WL_1),可存取给定行中的存储器单元205。数字线215(例如,DL_1、...、DL N)携载用于从行中的存储器单元写入或读取的数据。呈二维或三维配置的字线210和数字线215的相交可以被称为存储器单元205的地址。

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

可以通过激活或去激活开关组件235来实现选择或取消选择存储器单元205。电容器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可包含放大器(例如,晶体管放大器)以检测并放大信号中的差异。可以通过列解码器225将检测到的存储器单元205的逻辑状态作为输出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(例如,将电压施加到字线210),以存取包含目标存储器单元205的行。本地存储器控制器260可以在写入操作期间将特定信号(例如,电压)施加到数字线215以在存储器单元205的电容器230中存储特定状态(例如,电荷),所述特定状态(例如,电荷)可以指示所要逻辑状态。

在一些情况下,当处于第一操作模式(例如,存取模式、任务模式)时,本地存储器控制器260可使包含存储器子阵列200的存储器装置110生成与结合写入命令接收的数据相关联的码字,并将所述码字与所述数据相关联地存储。在一些情况下,当处于第二操作模式(例如,ECC诊断模式)时,本地存储器控制器可支持根据本文描述的技术的方面将有意错误引入所存储数据或相关联的码字中。更改数据或码字以包含有意(已知)错误可允许本地存储器控制器260或主机装置确定存储器装置是否已恰当执行后续ECC程序。

在一些情况下,本地存储器控制器260可被配置成对存储器子阵列200的一或多个存储器单元205执行读取操作(例如,感测操作)。在读取操作期间,可以确定存储在存储器子阵列200的存储器单元205中的逻辑状态。在一些情况下,可在单个读取操作期间感测多个存储器单元205。本地存储器控制器260可以识别将被执行读取操作的目标存储器单元205。本地存储器控制器260可以识别与目标存储器单元205电子连通的目标字线210和目标数字线215(例如,目标存储器单元205的地址)。本地存储器控制器260可以激活目标字线210(例如,将电压施加到字线210),以存取包含目标存储器单元205的行。目标存储器单元205可以响应于偏置存取线而将信号传送到感测组件245。感测组件245可以放大信号。本地存储器控制器260可起动感测组件245(例如,锁存感测组件)且由此比较从存储器单元205接收到的信号与参考信号250。基于所述比较,感测组件245可确定存储于存储器单元205上的逻辑状态。作为读取操作的一部分(例如,通过使用列解码器225选择从数字线215读取的数据),本地存储器控制器260可以将存储在存储器单元205上的逻辑状态传送到外部存储器控制器105(或装置存储器控制器155)。

在一些情况下,当处于第一操作模式(例如,存取模式、任务模式)以及第二操作模式(例如,ECC诊断模式)时,本地存储器控制器260可使包含存储器子阵列200的存储器装置110响应于读取命令而执行ECC程序。作为ECC程序的一部分,存储器装置110可尝试检测受读取命令操作的数据中的错误,并且在一些情况下,存储器装置110可尝试通过确定数据的原始未损坏值来修复(纠正)错误。在一些情况下,当处于第二操作模式(例如,ECC诊断模式)时,本地存储器控制器260可使存储器装置110在从存储器子阵列200或另一存储器子阵列检索(读取)数据或相关联的码字时,将有意错误引入数据或相关联的码字中。

在一些存储器架构中,存取存储器单元205可能使存储在存储器单元205中的逻辑状态降级或毁坏。例如,在DRAM架构中执行的读取操作可以使目标存储器单元的电容器部分或完全放电。本地存储器控制器260可以执行重写操作或刷新操作以将存储器单元恢复到其原始逻辑状态。本地存储器控制器260可以在读取操作之后将逻辑状态重写到目标存储器单元。在一些情况下,重写操作可被视为读取操作的部分。另外,激活单个存取线(例如,字线210)可能干扰存储在与所述存取线电子连通的一些存储器单元中的状态。因此,可对可能尚未被存取的一或多个存储器单元执行重写操作或刷新操作。

图3示出如本文所公开的支持纠错管理的系统300的实例。系统300可实施系统100和存储器子阵列200的方面。系统300可包含主机装置305,其可实施如参考图1描述的外部存储器控制器105的方面。系统300可进一步包含存储器装置310,其可以是如参考图1描述的存储器装置110的实例。

存储器装置310可以支持裸片上ECC,因此可以被配置成在内部检测和纠正数据损坏错误(例如,数据错误)。在一些实例中,存储器装置310可包含ECC组件315、ECC管理器320和存储器单元的一或多个阵列(例如,子阵列)(例如,ECC子阵列325、数据子阵列330-a和数据子阵列330-n)。ECC子阵列325和数据子阵列330中的每一者可以是参考图1(或其一部分)描述的存储器阵列170的实例或参考图2(或其一部分)描述的存储器子阵列200的实例。尽管系统300的实例被示为包含一个ECC子阵列325,但是应理解,任何数量的ECC子阵列都是可能的。在一些实例中,存储器装置310可被配置成与主机装置305通信(例如,如参考图1描述,通过一或多个信道115)。

在一些实例中,ECC组件315可包含一或多个编码器和比较器(未示出),并且可被配置为执行ECC程序的一或多个方面。例如,存储器装置310可以从主机装置305(例如,经由CA信道186)接收针对也从主机装置305(例如,经由DQ信道190)接收的数据的写入命令。存储器装置310可以将数据存储在存储器阵列330中。存储数据的位置可以被称为第一位置。在一些实例中,存储器装置310还可以将数据提供到ECC组件315,所述ECC组件可以生成与数据相对应的码字(ECC码字),所述码字可以被称为第一码字。ECC组件315可以使用各种类型的ECC生成第一码字。在一些实例中,ECC组件315可以使用例如汉明码的线性纠错码生成第一码字。例如,可以使用SEC码、SECDEC码和/或H矩阵(例如奇偶校验矩阵)来生成第一码字。可将第一码字存储到ECC子阵列325,并且存储码字的位置可被称为第二位置。

存储器装置310随后可从主机装置305(例如,经由CA信道186)接收针对存储在第一位置的数据的读取命令。响应于读取命令,ECC组件315可以执行纠错程序,其中ECC组件尝试检测并可能纠正从第一位置检索的数据中的任何错误(损坏)。例如,ECC组件315可以基于数据生成第二码字,并将第二码字与在将数据写入存储器装置310时生成的第一码字进行比较。ECC组件315可以使用用于生成第一码字的相同ECC来生成第二码字。因此,与第一码字匹配(完全相同)的第二码字可以指示数据并未损坏(例如,从数据子阵列330读取的数据与之前写入时相比没有变化)。但是,两个码字之间的任何差异都可能指示数据已损坏(含有一或多个错误)。因此,ECC组件315可以基于将第二码字与第一码字进行比较来确定数据中是否存在一或多个错误。在一些情况下,ECC组件315可以进一步尝试修复(纠正)检测到的错误(例如,可以尝试将数据重新创建为生成第一码字时的样子)。

用于生成第一码字和第二码字的ECC的类型可确定可由ECC组件315检测或纠正的错误(例如,数据错误)量。例如,如果ECC是SEC,则ECC组件315可在恰当操作时能够修复与数据相关联的单位错误,并且可以被配置成执行相关修复操作。

如果纠错码是SECDED,则ECC组件315可进一步能够检测双位错误的发生(例如,区分单位错误与双位错误,以及区分双位错误与更大量的位错误)。在单位错误的情况下,ECC组件315可以在恰当操作时修复单位错误。在双位错误的情况下,ECC组件315可以在恰当操作时提供双位错误存在的指示,存储器装置310可以将所述指示传输到主机装置305。

如本文描述,为了提高系统300的可靠性,可为有利的是主机装置305或存储器装置310确定存储器装置310的裸片上ECC是否恰当操作。存储器装置310可以支持用于确定存储器装置310的裸片上ECC是否恰当操作的操作模式或程序,其可被称为ECC诊断模式或程序。在一些情况下,主机装置305可以通过将相关命令(例如,信令)传输到存储器装置来使存储器装置310进入ECC诊断模式或以其它方式执行ECC诊断程序。在一些情况下,主机装置305可以通过在存储器装置310处设置一或多个模式寄存器位来使存储器装置310进入ECC诊断模式或以其它方式执行ECC诊断程序。在一些情况下,存储器装置310可以基于时间表(例如,周期性时间表、自先前ECC诊断程序以来经过的时间)或触发事件(例如,存储器装置310的启动或重新启动)而进入ECC诊断模式或以其它方式执行ECC诊断程序。

ECC管理器320可以与ECC组件315耦合,并且可以支持如本文描述的ECC诊断程序。ECC管理器320可以接收由ECC组件315生成和从所述ECC组件接收的码字,并且可以基于存储器装置310的操作模式来处理这些码字。在一些情况下,ECC管理器可以基于存储在模式寄存器中的一或多个位来确定存储器装置的操作模式。当存储器装置310处于第一操作模式(例如,存取模式、任务模式、正常模式、常规模式)时,ECC管理器320可使从ECC组件接收的码字存储在ECC子阵列325中。当存储器装置310处于第一操作模式并且接收针对与码字相关联的数据的后续读取命令时,ECC管理器320可以从ECC子阵列325检索码字(第一码字),并将码字发送到ECC组件315,以便基于相关联数据(第二码字)与新生成的码字进行比较。

当存储器装置310处于第二操作模式(例如,ECC诊断模式)或以其它方式执行ECC诊断程序时,ECC管理器320可相应地更改其操作,以便支持在码字或与码字相关联的数据中引入有意错误(不匹配)。例如,ECC管理器320ECC管理器320可以在码字被存储到ECC子阵列325之后(例如,在读取操作期间从ECC子阵列325检索码字时)更改码字的一或多个方面。作为另一实例,ECC管理器320可以在码字写入(例如,存储到)ECC子阵列325之前更改码字的一或多个方面。在又一实例中,ECC管理器320可以阻止一或多个码字被存储到ECC子阵列325,这可以支持更改存储在数据子阵列330中的数据,而不需要相应改变存储在ECC子阵列325中的相关码字。更改数据或码字可包含更改(反转)数据或码字的一或多个位。例如,先前为“1”的位可以更改(例如反转)为“0”,或反之亦然。

因此,ECC管理器320可以基于存储器装置310的特定操作模式而不同地工作。在一些实例中,ECC管理器320可以从模式寄存器(未示出)或从主机装置305接收指示特定操作模式的信号。例如,第一操作模式(存取模式、任务模式)可向ECC管理器320指示由ECC组件315生成或从ECC子阵列检索的码字应由ECC管理器320传递(中继)而不被更改。换句话说,在一些实例中,ECC管理器320可以在第一操作模式中被禁用(例如,基于从模式寄存器和/或主机装置305接收信号)。作为另一实例,第二操作模式(ECC诊断模式)可向ECC管理器320指示应防止(例如,阻止)一或多个码字存储到ECC子阵列325,这可包含丢弃一或多个码字。作为另一实例,在第二操作模式中,ECC管理器320可以在码字存储到ECC子阵列325之前更改码字的一或多个方面(例如,一或多个位),或者可以在码字从ECC子阵列325存取(例如,从ECC子阵列325读取)之后更改码字的一或多个方面(例如,一或多个位)。ECC管理器可以通过反转码字的任何数量(一个、一些或全部)的位或通过将码字的任何数量(一个、一些或全部)的位改变为期望值(例如,将码字改变为全部为一或全部为零或具有一些已知模式,例如交替值)来更改码字。

如本文参考图4到6参考描述,可将错误引入到存储至一或多个存储器阵列330-a到330-n的数据和/或存储至ECC子阵列325的码字。换句话说,可以更改数据的一或多个位和/或码字的一或多个位以确定存储器装置310的裸片上ECC是否恰当工作。通过有意地更改数据和/或码字的一或多个位,主机装置305可以考虑到有意错误来确定其从存储器装置310接收的数据是否与裸片上ECC的适当操作一致。

在一些情况下,通过作为ECC诊断程序的一部分重复地更改一或多个数据位并评估随后由存储器装置310输出的数据,主机装置305可能够确定由存储器装置310使用的H矩阵(对其进行逆向工程)。例如,主机装置305可能够映射裸片上ECC的双位失效(在一些情况下,其可能无法检测或纠正双位错误),从而确定H矩阵。基于确定H矩阵,主机装置305可能够智能地针对数据的不同方面分配存储器装置310内的存储器,从而说明或以其它方式减轻裸片上ECC的一或多个缺点的影响(例如,主机装置305可以分配存储器装置310内的存储器以便减少第三位的混叠)。

图4示出如本文所公开的支持纠错管理的过程流400的实例。过程流400可以实施系统100和300以及存储器子阵列200的方面。过程流400可包含由主机装置405执行的操作,所述主机装置可以是如参考图3描述的主机装置305的实例。主机装置405可以实施如参考图1描述的外部存储器控制器105的方面。过程流400可进一步包含由存储器装置410执行的操作,所述存储器装置可以是如参考图1和2描述的存储器装置110、存储器阵列170或存储器子阵列200的实例,并且可以是如参考图3描述的存储器装置310的实例。

过程流400可示出在ECC诊断模式下操作或以其它方式执行ECC诊断程序的系统(例如,如参考图3描述的系统300)。如本文描述,ECC管理器(例如,如参考图3描述的ECC管理器320)可以从模式寄存器和/或主机装置405接收指示操作模式的命令。在过程流400中,可以在ECC诊断程序期间有意地更改存储于存储器装置410的存储器阵列(例如,如参考图3描述的存储器阵列330-a到330-n中的一者)的一或多个数据位。

在420处,存储器装置410可以存储第一数据集。在一些实例中,可以基于存储器装置410从主机装置405接收写入命令415来存储第一数据集。数据可存储在专用于数据存储(例如,非码字存储)的存储器阵列(例如,存储器子阵列)处。例如,数据可以存储在如参考图3描述的存储器阵列330-a到330-n中的一者处。如本文描述,存储器装置410可以经由一或多个CA信道接收写入命令415,并且经由一或多个DQ信道接收第一数据集。在420处存储的第一数据集可对应于在存取操作期间写入存储器装置410的数据,并且可在确定与存储器装置410相关联的裸片上ECC是否恰当工作时用作参考。

在425处,存储器装置410可以使用纠错码生成并存储与第一数据集相关联的码字(例如,第一码字)。如本文描述,可以通过ECC组件(例如,如参考图3描述的ECC组件315)使用预定义ECC来生成码字。第一码字可存储在专用于ECC程序的存储器阵列(例如,存储器子阵列)处。例如,第一码字可存储在如参考图3描述的ECC子阵列325处。第一码字可以在对应数据(例如,第一数据集)保持存储到存储器装置410的持续时间期间存储到存储器阵列。在一些实例中,如果存储器装置410处于正常操作模式(例如,存取模式、任务模式),并且第一数据集被覆写(例如,被新的数据集覆写),则存储到存储器阵列的第一码字也可以被对应于新数据的码字覆写。然而,在如本文描述的一些实例中,在第一数据集被覆写之后,第一码字可以保持存储到存储器阵列。

在435处,存储器装置410可以存储更改的第一数据集。可以将更改的第一数据集存储到与第一数据集相同的位置。换句话说,(例如,在420处)存储到存储器装置410的第一数据集可以被更改的第一数据集覆写。如本文描述,更改的第一数据集可以对应于第一数据集,但是针对一定数量的位。例如,第一数据集可以包含位“10101010”,而更改的第一数据集可以包含位“10101011”。通过更改第一数据集的位,可将已知错误引入存储在存储器装置410处的数据(例如,第一数据集)。在一些实例中,可以基于从主机装置405接收到的写入命令430来更改第一数据集(例如,可以由主机装置405生成并提供更改的第一数据集)。然而,在一些实例中,可以由存储器装置410的一或多个组件更改(生成)第一数据集。第一数据集是由主机装置405还是由存储器装置410更改可以是设计选择的问题。

在440处,存储器装置410可以生成与更改的数据集相关联的码字(例如,第二码字),但是阻止第二码字被存储到存储器装置410。例如,可以由ECC组件(例如,如参考图3描述的ECC组件315)使用预定义ECC生成第二码字。然而,ECC管理器(例如,如参考图3描述的ECC管理器320)可以阻止第二码字被存储到存储器装置410的存储器阵列(例如,如参考图3描述的ECC子阵列325)。例如,ECC管理器可以丢弃第二码字。通过阻止第二码字被存储到存储器装置410,第一码字可以保持存储到存储器装置410(例如,如参考图3描述的ECC子阵列325)。因此,在425处生成和存储的第一码字可对应于在435处存储的更改的第一数据集。

在一些实例中,440处的操作可以是可选的。例如,ECC组件可不生成第二码字。存储器装置410(更具体地,ECC组件)可以替代地从模式寄存器和/或主机装置405接收指示特定操作模式的一或多个信号。所述操作模式可以例如在存储器装置410接收(或生成)更改的数据时防止ECC组件生成第二码字。在另一实例中,ECC组件可以基于更改的第一数据集生成第二码字,并且可以立即丢弃所述第二码字。换句话说,ECC组件可以接收生成与更改的第一数据集相关联的第二码字的指示,并且可以随后接收丢弃第二码字的指示(并且不将第二码字存储到存储器阵列)。在任一实例中,通过未能生成与更改的数据集相关联的第二码字或通过在将与更改的数据集相关联的第二码字存储到存储器阵列之前丢弃它,更改的数据集可保持与先前在425处基于未更改的数据集生成并存储的第一码字相关联。

在一些实例中,存储器装置410可以从主机装置405接收读取命令445。读取命令445可与更改的第一数据集相关联。例如,读取命令445可以请求存储到与更改的第一数据集相同位置的数据(例如,读取命令445可以请求更改的第一数据集)。在一些实例中,在接收到读取命令445时,存储器装置410可以将更改的第一数据集(在435处存储)和第一码字(在425处生成)提供到ECC组件。

在450处,可以执行纠错操作。如本文描述,在接收到读取命令445时,可以将更改的第一数据集和第一码字(例如,在425处生成和存储的码字)提供给ECC组件。ECC组件可以生成与更改的第一数据集相关联的码字(例如,第三码字),并且可以将第一和第三码字进行比较。因为第一码字是基于第一数据集生成的,而第三码字是基于更改的第一数据集生成的,所以第一和第三码字可能不同(表现出不匹配),从而指示错误。换句话说,因为第一码字与第三码字不匹配,所以存储器装置410可以确定与第三码字相对应的数据(例如,更改的第一数据集)中存在错误。

在一些实例中,可以基于在450处执行的纠错将第二数据集455传输到主机装置405。如果ECC组件在450处确定存在单位错误,则ECC组件可被配置成修复(例如,修正)与数据相关联的单个错误(例如,单位)。因此,在一些情况下,450处的纠错操作可尝试使第二数据集与420处存储的第一数据集一致。因此,如果裸片上ECC恰当操作,则第二数据集455可以与先前(例如,在420处)存储到存储器装置410的第一数据集匹配,尽管在435处第一数据集被有意损坏(更改),否则,第二数据集455可以不同于先前(例如,在420处)存储到存储器装置410的第一数据集。

在460处,主机装置405可以基于接收第二数据集455来确定存储器装置410的裸片上ECC是否恰当操作。如本文描述,单位错误可由ECC组件修复(例如,修正)。因此,基于ECC组件修复更改的第一数据集,第二数据集455可以与第一数据集相同(例如,完全相同)。在一些实例中,这可使主机装置405确定存储器装置410的ECC程序恰当操作。换句话说,通过将单位错误引入到更改的第一数据集中,当ECC程序恰当操作时,主机装置405可以预期接收与第一数据相同的第二数据。然而,在一些实例中,第二数据集455可能与第一数据集不匹配。这可能是基于ECC组件的一或多个特征不当工作(例如,在450处)。因此,当有意引入单位错误并且第二数据集455与第一数据集不匹配时,主机装置405可以确定ECC程序操作不当。然后,主机装置405可以采取一或多个缓解措施(例如,重新引导或禁用存储器装置410以依赖于不同的存储器装置,或可以提高系统(例如,如参考图3描述的系统300)的总体可靠性的一些其它缓解措施)。

在一些实例(未示出)中,主机装置405可以将多位错误有意地引入第一数据集中。由于ECC组件可被配置成修复单位错误,因此引入多位错误可使主机装置405接收与第一数据集不同的第二数据集455或在ECC组件恰当工作时接收多位错误的指示(例如双位错误的指示)。在其它实例中,存储器装置410可以将多位错误有意地引入第一数据集中。

例如,在435处,存储器装置410可以存储具有更改的多个(例如,两个)数据位而不是一个数据位的更改的第一数据集。在450处,ECC组件可将第一码字与和更改的第一数据集相关联的码字(例如,第四码字)进行比较。当比较第一码字与第四码字时,ECC组件可确定两个位不同。如本文所讨论,纠错码可以是或可以包含SEC码。因此,ECC组件可能无法修复这两个位,并且传输到主机装置405的第二数据集455可能与第一数据集不同。然而,因为这两个位可能已被有意地引入到更改的第一数据集中,所以主机装置405可以确定(例如,在460处)ECC组件恰当工作。

另外或替代地,纠错码可以是或可以包含SECDED码。因此,ECC可以识别双位错误并向主机装置405指示双位错误的存在。另外或替代地,在一些情况下,存储器装置可以传输与第一数据集不同的第二数据集455。因为这两个位可能已被有意地引入到更改的第一数据集中,所以主机装置405可以基于接收到存在双位错误和/或不同于第一数据集的第二数据集455的指示而确定(例如,在460处)ECC组件恰当工作。

应理解,可将任何数量的错误有意地引入数据中,并且主机装置405可基于接收到第二数据集455或对于有意引入的错误适当或不适当的相关指示而确定(例如,在460处)ECC组件是否恰当工作。应进一步理解,可任意次数且使用不同数量的错误来重复过程流400(例如,首先使用一个有意错误,接着再使用两个有意错误)。还应理解,在一些情况下,存储器装置410可以在460处执行归属于主机装置405的一或多个功能,并且可以向主机装置405传输关于是否已确定错误或者存储器装置410处的任一裸片上ECC被确定为恰当操作的指示。

图5示出如本文公开的支持纠错管理的过程流500的实例。过程流500可以实施系统100和300以及存储器子阵列200的方面。过程流500可以包含由主机装置505执行的操作,所述主机装置可以是如参考图3描述的主机装置305的实例。主机装置505可以实施如参考图1描述的外部存储器控制器105的方面。过程流500可进一步包含由存储器装置510执行的操作,所述存储器装置可以是如参考图1和2描述的存储器装置110、存储器阵列170或存储器子阵列200的实例,并且可以是如参考图3描述的存储器装置310的实例。

过程流500可示出在ECC诊断模式下操作或以其它方式执行ECC诊断程序的系统(例如,如参考图3描述的系统300)。如本文描述,ECC管理器(例如,如参考图3描述的ECC管理器320)可以从模式寄存器和/或主机装置505接收指示操作模式的命令。在过程流500中,可以在ECC诊断程序期间在将码字(例如,第一码字)存储在存储器阵列(例如,如参考图3描述的存储器阵列325)之前更改所述码字的一或多个位。

在520处,存储器装置510可以存储第一数据集。在一些实例中,可以基于存储器装置510从主机装置505接收写入命令515来存储第一数据集。数据可存储在专用于数据存储(例如,非码字存储)的存储器阵列(例如,存储器子阵列)处。例如,数据可以存储在如参考图3描述的存储器阵列330-a到330-n中的一者处。如本文描述,存储器装置510可以经由一或多个CA信道接收写入命令515,并且经由一或多个DQ信道接收第一数据集。在520处存储的第一数据集可对应于在存取操作期间写入存储器装置510的数据,并且可有助于确定与存储器装置510相关联的裸片上ECC是否恰当工作。

在525处,存储器装置510可以生成与第一数据集相关联的码字(例如,第一码字)。如本文描述,可以通过ECC组件(例如,如参考图3描述的ECC组件315)使用预定义ECC来生成码字。在一些实例中,第一码字可以由ECC组件生成,并且在被存储到存储器阵列(例如,如参考图3描述的ECC子阵列325)之前被传输到ECC管理器(例如,如参考图3描述的ECC管理器320)进行进一步处理。

在530处,存储器装置510可以更改在525处生成的第一码字(例如,得到第二码字)。在一些实例中,第一码字可通过ECC组件和/或ECC管理器更改,如参考图3所讨论。例如,ECC组件可以生成第一码字并将第一码字传输到ECC管理器,并且ECC管理器可以更改第一码字。通过更改第一码字(例如,与参考图4描述的更改第一数据集相反),可以不将更改的(例如,损坏的)数据存储到存储器装置510的一或多个数据子阵列330。

一旦接收到第一码字,ECC管理器可以更改第一码字的一或多个位。在一些实例中,第二(更改的)码字可以对应于第一码字,但是针对一定数量的位。例如,可能已基于包含位“10101010”的第一数据集生成第一码字。第二码字例如可对应于包含位“10101011”的数据。在一些实例中,此数据集(例如,包含位“10101011”的数据)可以或可以不存储到存储器装置510。通过更改第一个码字的一个位,可以将已知的错误引入ECC程序。

在535处,可以将第二码字存储在专用于ECC程序的存储器阵列(例如,存储器子阵列)处。可以将第二码字存储在如参考图3描述的ECC子阵列325处。在一些实例中,第二码字可以在与第一码字相对应的数据(例如,第一数据集)保持存储到存储器装置510的持续时间期间存储到存储器阵列。第二码字可以覆写在525处生成的第一码字,并因此可以与在520处存储的第一数据集相关联地存储。因此,在第一数据集的读取操作期间,可以一起存取第一数据集和第二码字(而不是第一码字)。

在一些实例中,存储器装置510可以从主机装置505接收读取命令540。读取命令540可以与第一数据集相关联。例如,读取命令540可以请求存储到与第一数据集相同位置的数据(例如,读取命令540可以请求第一数据集)。在一些实例中,在接收到读取命令540时,存储器装置510可以将第一数据集(在520处存储)和第二码字(在535处存储)提供到ECC组件。

在545处,可以执行纠错操作。如本文描述,在接收到读取命令540时,可以将第一数据集和第二码字(例如,在535处存储的更改的码字)提供给ECC组件。ECC组件可以生成与第一数据集相关联的码字(例如,第三码字),并且可以将第二和第三码字进行比较。因为第三码字是基于第一数据集生成的,而第二码字是相对于最初基于第一数据集生成的第一码字有意更改的,所以第二和第三码字可能不同(表现出不匹配),并因此指示错误。换句话说,因为第二码字与第三码字不匹配,所以存储器装置510可以确定与第二码字相对应的数据中存在错误(即,在520处存储的第一数据集中存在错误)。

在一些实例中,可以基于在545处执行的纠错将第二数据集550传输到主机装置505。如果ECC组件在545处确定存在单位错误,则ECC组件可被配置成修复(例如,修正)与数据相关联的单个错误(例如,单位)。因此,在一些情况下,545处的纠错操作可尝试使第二数据集与将产生第二码字的码字一致(即,对于操作性ECC,在535处存储的更改的码字将是除在520处存储的第一数据集之外的某一种子数据集的正确码字,且因此545处的纠正操作可尝试使第二数据集与所述另一种子数据集一致)。因此,如果裸片上ECC恰当操作,则第二数据集550可以与先前(例如,在520处)存储到存储器装置510的第一数据集不同,并且可以替代地与对应于535处存储的更改的码字的数据(种子数据)匹配,否则,第二数据集550可以不同于对应于535处存储的更改的码字的数据(种子数据)。

在555处,主机装置505可以基于接收第二数据集550来确定存储器装置510的裸片上ECC是否恰当操作。如本文描述,单位错误可由ECC组件修复(例如,修正)。因此,基于ECC组件修复与第二码字(例如,更改的码字)相关联的数据,第二数据集550可以与第一数据集不同,并且替代地与在535处存储的与更改的码字相对应的数据(种子数据)相同(完全相同)。在一些实例中,这可使主机装置505确定存储器装置510的ECC程序恰当操作。换句话说,通过将单位错误引入到基于第一数据集生成的码字(例如,第一码字)中,当ECC程序恰当操作时,主机装置505可以预期接收与第一数据不同的第二数据。然而,在一些实例中,第二数据集550可能与第一数据集匹配。这可能是基于ECC组件的一或多个特征不当工作(例如,在545处)。因此,在一些情况下,当有意引入单位错误并且第二数据集550与第一数据集匹配时,主机装置505可以确定ECC程序操作不当。然后,主机装置505可以采取一或多个缓解措施(例如,重新引导或禁用存储器装置510以依赖于不同的存储器装置,或可以提高系统(例如,如参考图3描述的系统300)的总体可靠性的一些其它缓解措施)。

在一些实例(未示出)中,存储器装置510可以将多位错误有意地引入第一码字中。由于ECC组件可被配置成修复单位错误,因此引入多位错误可使主机装置505接收与对应于在535处存储的更改的码字的数据(种子数据)不同的第二数据集550,或在ECC组件恰当工作时接收多位错误的指示(例如双位错误的指示)。

例如,在530处,存储器装置510可以更改第一码字的多个(例如,两个)位,并且可以随后将所述码字(例如,第四码字)存储到存储器装置510的存储器阵列。在545处,ECC组件可将第三码字与第四码字进行比较。当比较第三码字与第四码字时,ECC组件可确定与相应码字相关联的数据的两个位不同。如本文所讨论,纠错码可以是或可以包含SEC码。因此,ECC组件可能无法修复这两个位,并且传输到主机装置505的第二数据集550可能与第一数据集不同。然而,因为这两个位可能已被有意地引入到第一码字,所以主机装置505可以确定(例如,在555处)ECC组件恰当工作。

另外或替代地,纠错码可以是或可以包含SECDED码。因此,ECC可以识别双位错误并向主机装置505指示双位错误的存在。另外或替代地,在一些情况下,存储器装置可以传输与第一数据集不同的第二数据集550。因为双位错误可能已经由修改在535处存储的码字而被有意地引入,所以主机装置505可以基于接收到存在双位错误和/或不同于在520处存储的第一数据集的第二数据集550的指示而确定(例如,在555处)ECC组件恰当工作。

在一些情况下,替代在525处生成第一码字且接着在530处更改所述码字,存储器装置510(例如,ECC组件或ECC管理器)可以在520处存储的第一数据集被提供到ECC组件时更改所述数据集,使得ECC组件基于更改的第一数据集生成第一码字。在这种情况下,提供到ECC组件的更改的第一数据集可以替换与本文中描述的在535处存储的更改的码字相对应的数据(种子数据),并且基于更改的第一数据集的第一码字可以替换本文中描述的在535处存储的更改的码字。

应理解,可以将任何数量的错误有意地引入在525处生成的码字中,并且主机装置505可基于接收到第二数据集550或对于有意引入的错误适当或不适当的相关指示而确定(例如,在555处)ECC组件是否恰当工作。应进一步理解,可任意次数且使用不同数量的错误来重复过程流500(例如,首先使用一个有意错误,接着再使用两个有意错误)。还应理解,在一些情况下,存储器装置510可以在555处执行归属于主机装置505的一或多个功能,并且可以向主机装置505传输关于是否已确定错误或者存储器装置510处的任一裸片上ECC被确定为恰当操作的指示。

图6示出如本文公开的支持纠错管理的过程流600的实例。过程流600可以实施系统100和300以及存储器子阵列200的方面。过程流600可以包含由主机装置605执行的操作,所述主机装置可以是如参考图3描述的主机装置305的实例。主机装置605可以实施如参考图1描述的外部存储器控制器105的方面。过程流600可进一步包含由存储器装置610执行的操作,所述存储器装置可以是如参考图1和2描述的存储器装置110、存储器阵列170或存储器子阵列200的实例,并且可以是如参考图3描述的存储器装置310的实例。

过程流600可示出在ECC诊断模式下操作或以其它方式执行ECC诊断程序的系统(例如,如参考图3描述的系统300)。如本文描述,ECC管理器(例如,如参考图3描述的ECC管理器320)可以从模式寄存器和/或主机装置605接收指示操作模式的命令。在过程流600中,可以在ECC诊断程序期间在将码字(例如,第一码字)存储在存储器阵列(例如,如参考图3描述的ECC子阵列325)之后更改所述码字的一或多个位。

在620处,存储器装置610可以存储第一数据集。在一些实例中,可以基于存储器装置610从主机装置605接收写入命令615来存储第一数据集。数据可存储在专用于数据存储(例如,非码字存储)的存储器阵列(例如,存储器子阵列)处。例如,数据可以存储在如参考图3描述的存储器阵列330-a到330-n中的一者处。如本文描述,存储器装置610可以经由一或多个CA信道接收写入命令615,并且经由一或多个DQ信道接收第一数据集。在620处存储的第一数据集可对应于在存取操作期间写入存储器装置610的数据,并且可有助于确定与存储器装置610相关联的裸片上ECC是否恰当工作。

在625处,存储器装置610可以生成并存储与第一数据集相关联的码字(例如,第一码字)。如本文描述,可以通过ECC组件(例如,如参考图3描述的ECC组件315)使用预定义纠错码来生成码字。第一码字可存储在专用于ECC程序的存储器阵列(例如,存储器子阵列)处。例如,第一码字可存储在如参考图3描述的ECC子阵列325处。第一码字可以在对应数据(例如,第一数据集)保持存储到存储器装置610的持续时间期间存储到存储器阵列。

在一些实例中,存储器装置610可以从主机装置605接收读取命令630。读取命令630可以与第一数据集相关联。例如,读取命令630可以请求存储到与第一数据集相同位置的数据(例如,读取命令630可以请求第一数据集)。在一些实例中,在接收到读取命令630时,存储器装置610可以将第一数据集(在620处存储)和第一码字(在625处存储)提供到ECC组件。

在635处,存储器装置610可以更改在625处生成的第一码字(例如,得到第二码字)。在一些实例中,第一码字可通过ECC组件和/或ECC管理器更改,如参考图3所讨论。例如,ECC组件可以接收第一码字(例如,基于读取命令630),并且可以将第一码字传输到ECC管理器。然后,ECC管理器可以在将第二码字提供到ECC组件之前更改第一码字。通过在将第一码字存储到存储器阵列之后更改第一码字,更改的(例如,损坏的)数据和更改的码字都可不存储到存储器装置610的一或多个存储器阵列。

在一些实例中,存储器装置610可以更改第一码字的一或多个位。在一些实例中,第二(更改的)码字可以对应于第一码字,但是针对一定数量的位。例如,可能已基于包含位“10101010”的第一数据集生成第一码字。第二码字例如可对应于包含位“10101011”的数据。在一些实例中,此数据集(例如,包含位“10101011”的数据)可以或可以不存储到存储器装置610。通过更改第一个码字的一个位,可以将已知的错误引入ECC程序。

在640处,可以执行纠错操作。如本文描述,在接收到读取命令630时,可以将第一数据集和第一码字提供到ECC组件。ECC组件又可以将第一码字传输到ECC管理器,ECC管理器可以更改第一码字的一个位。可以将得到的第二码字传输回ECC组件。基于接收到第一数据,ECC组件可以生成与第一数据集相关联的码字(例如,第三码字),并且可以将第二和第三码字进行比较。因为第三码字是基于第一数据集生成的,而第二码字是相对于最初基于第一数据集生成的第一码字有意更改的,所以第二和第三码字可能不同(表现出不匹配),并因此指示错误。换句话说,因为第二码字与第三码字不匹配,所以存储器装置610可以确定与第二码字相对应的数据中存在错误(即,在620处存储的第一数据集中存在错误)。

在一些实例中,可以基于在640处执行的纠错将第二数据集645传输到主机装置605。如果ECC组件在640处确定存在单位错误,则ECC组件可被配置成修复(例如,修正)与数据相关联的单个错误(例如,单位)。因此,在一些情况下,640处的纠错操作可尝试使第二数据集与将产生第二码字的码字一致(即,对于操作性ECC,在635处生成的更改的码字将是除在620处存储的第一数据集之外的某一种子数据集的正确码字,且因此640处的纠正操作可尝试使第二数据集645与所述另一种子数据集一致)。因此,如果裸片上ECC恰当操作,则第二数据集645可以与先前(例如,在620处)存储到存储器装置610的第一数据集不同,并且可以替代地与对应于635处生成的更改的码字的数据(种子数据)匹配,否则,第二数据集645可以不同于对应于635处生成的更改的码字的数据(种子数据)。

在650处,主机装置605可以基于接收第二数据集645来确定存储器装置610的裸片上ECC是否恰当操作。如本文描述,单位错误可由ECC组件修复(例如,修正)。因此,基于ECC组件修复与第二码字(例如,更改的码字)相关联的数据,第二数据集645可以与第一数据集不同,并且替代地与在635处生成的与更改的码字相对应的数据(种子数据)相同(完全相同)。在一些实例中,这可使主机装置605确定存储器装置610的ECC程序恰当操作。换句话说,通过将单位错误引入到在635处生成的码字中,当ECC程序恰当操作时,主机装置505可以预期接收与第一数据不同的第二数据集645。然而,在一些实例中,第二数据集645可能与第一数据集匹配。这可能是基于ECC组件的一或多个特征不当工作(例如,在640处)。因此,在一些情况下,当有意引入单位错误并且第二数据集645与第一数据集匹配时,主机装置605可以确定ECC程序操作不当。然后,主机装置605可以采取一或多个缓解措施(例如,重新引导或禁用存储器装置610以依赖于不同的存储器装置,或可以提高系统(例如,如参考图3描述的系统300)的总体可靠性的一些其它缓解措施)。

在一些实例(未示出)中,存储器装置610可以将多位错误有意地引入第一码字中。由于ECC组件可被配置成修复单位错误,因此引入多位错误可使主机装置605接收与对应于在635处生成的更改的码字的数据(种子数据)不同的第二数据集645,或在ECC组件恰当工作时接收多位错误的指示(例如双位错误的指示)。

例如,在635处,存储器装置610可以在读取命令630之后更改第一码字的多个(例如,两个)位。可以将得到的码字(例如,第四码字)与第三码字(例如,通过ECC组件)进行比较。当比较第三码字与第四码字时,ECC组件可确定与相应码字相关联的数据的两个位不同。如本文所讨论,纠错码可以是或可以包含SEC码。因此,ECC组件可被配置成无法修复这两个位,并且传输到主机装置605的第二数据集645可能与第一数据集不同。然而,因为这两个位可能已被有意地引入到第一码字,所以主机装置605可以确定(例如,在650处)ECC组件恰当工作。

另外或替代地,纠错码可以是或可以包含SECDED码。因此,ECC可以识别双位错误并向主机装置605指示双位错误的存在。另外或替代地,在一些情况下,存储器装置可以传输与第一数据集不同的第二数据集645。因为双位错误可能已经由修改在635处生成的码字而被有意地引入,所以主机装置605可以基于接收到存在双位错误和/或不同于在620处存储的第一数据集的第二数据集645的指示而确定(例如,在650处)ECC组件恰当工作。

应理解,可以将任何数量的错误有意地引入在635处生成的码字中,并且主机装置605可基于接收到第二数据集645或对于有意引入的错误适当或不适当的相关指示而确定(例如,在650处)ECC组件是否恰当工作。应进一步理解,可任意次数且使用不同数量的错误来重复过程流600(例如,首先使用一个有意错误,接着再使用两个有意错误)。还应理解,在一些情况下,存储器装置610可以在650处执行归属于主机装置605的一或多个功能,并且可以向主机装置605传输关于是否已确定错误或者存储器装置610处的任一裸片上ECC被确定为恰当操作的指示。

图7示出如本文所公开的支持纠错管理的存储器装置705的框图700。存储器装置705可以是如参考图3到6描述的装置的方面的实例。存储器装置705可以包含接收组件710、生成组件715、传输组件720、存取组件725、更改组件730、存储组件735、阻止组件740、确定组件745、比较组件750、纠错组件755和识别组件760。这些模块中的每一者可以直接或间接地(例如,经由一或多个总线)彼此通信。

接收组件710可以从主机装置接收针对第一数据集的写入命令。在一些实例中,接收组件710可以从主机装置接收针对第一数据集的读取命令。在一些实例中,接收组件710可以从主机装置接收第一数据集的更改版本。在一些实例中,接收组件710可以从主机装置接收针对第一数据集的更改版本的第二写入命令。在一些实例中,接收组件710可以从主机装置接收从第一操作模式切换到第二操作模式的命令,其中基于处于第二操作模式来识别第一数据集的更改版本或码字的更改版本。

生成组件715可以基于写入命令生成与第一数据集相对应的码字。在一些实例中,生成组件715可以基于写入命令生成码字的更改版本。在一些实例中,生成组件715可以生成第一数据集的更改版本或码字的更改版本,其中传输第二数据集是基于生成第一数据集的更改版本或码字的更改版本。在一些实例中,生成组件715可以基于第二写入命令生成与第一数据集的更改版本相对应的第二码字。

在一些实例中,生成组件715可以基于读取命令生成与第一数据集的更改版本相对应的第三码字。在一些实例中,生成组件715可以基于将码字与第三码字进行比较而生成第二数据集。在一些实例中,生成组件715可以基于存取第一数据集的更改版本而生成第三码字。

传输组件720可以将基于第一数据集的更改版本或码字的更改版本的第二数据集传输到主机装置。在一些实例中,传输组件720可以基于尝试生成与第一数据集完全相同的第二数据集而将一或多个命令传输到主机装置。

存取组件725可以基于读取命令存取码字。在一些实例中,存取组件725可以基于读取命令存取码字的更改版本。在一些实例中,存取组件725可以基于读取命令存取第一数据集的更改版本。

更改组件730可以基于存取码字而更改码字的至少一个位以生成码字的更改版本。在一些实例中,更改组件730可以基于写入命令更改第一数据集中的至少一个位以生成第一数据集的更改版本。

存储组件735可以基于写入命令存储码字。在一些实例中,存储组件735可以存储码字的更改版本。在一些实例中,存储组件735可以基于写入命令将第一数据集存储在存储器装置内的第一位置。在一些实例中,存储组件735可以基于第二写入命令将第一数据集的更改版本存储在存储器装置内的第一位置,其中存储第一数据集的更改版本会覆写第一数据集中的至少一些。

在一些实例中,存储组件735可以基于写入命令将码字存储在存储器装置内的第二位置。在一些实例中,存储组件735可以基于写入命令将码字存储在存储器装置内的第二位置。

阻止组件740可基于第二写入命令阻止存储器装置内的第二位置被存取并将码字存储在第二位置。在一些实例中,阻止组件740可以基于确定存储器装置的操作模式而丢弃第二码字。

确定组件745可以确定存储器装置的操作模式。

比较组件750可以基于读取命令将码字与第三码字进行比较。

纠错组件755可基于第一数据集的更改版本或码字的更改版本尝试生成与第一数据集完全相同的第二数据集。

识别组件760可以识别第一数据集的更改版本或码字的更改版本。

图8示出如本文所公开的支持纠错管理的主机装置805的框图800。主机装置805可以是如参考图3到6描述的装置的方面的实例。主机装置805可以包含传输组件810、接收组件815和确定组件820。这些模块中的每一者可以直接或间接地(例如,经由一或多个总线)彼此通信。

传输组件810可以将针对第一数据集的写入命令传输到存储器装置。在一些实例中,传输组件810可以基于传输写入命令将针对第一数据集的读取命令传输到存储器装置。在一些实例中,传输组件810可以基于确定存储器装置已提交错误而将一或多个命令传输到存储器装置。在一些实例中,传输组件810可以基于确定存储器装置已提交错误而将一或多个命令传输到存储器装置。

在一些实例中,传输组件810可以将指示第一数据集的更改版本的第二写入命令传输到存储器装置,其中在传输第二写入命令之后发生传输读取命令。在一些实例中,传输组件810可以将进入用于测试纠错功能的操作模式的命令传输到存储器装置,其中接收第二数据集是至少部分地基于操作模式。

接收组件815可以基于传输读取命令而从存储器装置接收基于第一数据集的更改版本或与第一数据集相对应的码字的更改版本的第二数据集。

确定组件820可以确定第二数据集与第一数据集不同。在一些实例中,确定组件820可以基于第二数据集与第一数据集不同而确定存储器装置已提交错误。在一些实例中,确定组件820可以确定第二数据集与第一数据集完全相同。在一些实例中,确定组件820可以基于第二数据集与第一数据集完全相同而确定存储器装置已提交错误。

图9示出的流程图说明如本文所公开的支持纠错管理的方法900。方法900的操作可以由如本文描述的存储器装置或其组件实施。例如,方法900的操作可以由如参考图7描述的存储器装置执行。在一些实例中,存储器控制器可以执行指令集以控制存储器装置的功能元件从而执行所描述功能。另外或替代地,存储器装置可以使用专用硬件执行所描述功能的方面。

在905处,存储器装置可以从主机装置接收针对第一数据集的写入命令。905的操作可以根据本文描述的方法执行。在一些实例中,905的操作的方面可由如参考图7描述的接收组件执行。

在910处,存储器装置可以基于写入命令生成与第一数据集相对应的码字。910的操作可以根据本文描述的方法执行。在一些实例中,910的操作的方面可由如参考图7描述的生成组件执行。

在915处,存储器装置可以从主机装置接收针对第一数据集的读取命令。915的操作可以根据本文描述的方法执行。在一些实例中,915的操作的方面可由如参考图7描述的接收组件执行。

在920处,存储器装置可以将基于第一数据集的更改版本或码字的更改版本的第二数据集传输到主机装置。920的操作可以根据本文描述的方法执行。在一些实例中,920的操作的方面可由如参考图7描述的传输组件执行。

在一些实例中,如本文描述的设备可以执行一或多种方法,例如方法900。所述设备可包含特征、构件或指令(例如,可由处理器执行的非暂时性计算机可读媒体存储指令),用于:从主机装置接收针对第一数据集的写入命令;至少部分地基于写入命令生成与第一数据集相对应的码字;从主机装置接收针对第一数据集的读取命令;以及将至少部分地基于第一数据集的更改版本或码字的更改版本的第二数据集传输到主机装置。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于写入命令存储码字;至少部分地基于读取命令存取码字;以及至少部分地基于存取码字而更改码字的至少一个位以生成码字的更改版本。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于写入命令存储码字;至少部分地基于读取命令存取码字;以及至少部分地基于存取码字而更改码字的至少一个位以生成码字的更改版本。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于写入命令生成码字的更改版本;存储码字的更改版本;以及至少部分地基于读取命令存取码字的更改版本。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:从主机装置接收第一数据集的更改版本。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:生成第一数据集的更改版本或码字的更改版本,其中传输第二数据集是至少部分地基于生成第一数据集的更改版本或码字的更改版本。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于写入命令将第一数据集存储在存储器装置内的第一位置;从主机装置接收针对第一数据集的更改版本的第二写入命令;以及至少部分地基于第二写入命令将第一数据集的更改版本存储在存储器装置内的第一位置,其中存储第一数据集的更改版本会覆写第一数据集中的至少一些。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于写入命令将码字存储在存储器装置内的第二位置;以及至少部分地基于第二写入命令阻止存储器装置内的第二位置被存取并将码字存储在第二位置。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于第二写入命令生成与第一数据集的更改版本相对应的第二码字;确定存储器装置的操作模式;以及至少部分地基于确定存储器装置的操作模式而丢弃第二码字。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于写入命令将码字存储在存储器装置内的第二位置;至少部分地基于读取命令生成与第一数据集的更改版本相对应的第三码字;至少部分地基于读取命令将码字与第三码字进行比较;以及至少部分地基于将码字与第三码字进行比较而生成第二数据集。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于读取命令存取第一数据集的更改版本;以及至少部分地基于存取第一数据集的更改版本而生成第三码字。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于写入命令更改第一数据集中的至少一个位以生成第一数据集的更改版本。

在本文描述的方法、设备和非暂时性计算机可读媒体的一些实例中,第一数据集的更改版本中的至少两个位与第一数据集中的对应位不同。

在本文描述的方法、设备和非暂时性计算机可读媒体的一些实例中,码字的更改版本中的至少两个位具有与码字中的对应位不同的值。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于第一数据集的更改版本或码字的更改版本尝试生成与第一数据集完全相同的第二数据集;以及至少部分地基于尝试生成与第一数据集完全相同的第二数据集而将一或多个命令传输到主机装置。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:识别第一数据集的更改版本或码字的更改版本。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:从主机装置接收从第一操作模式切换到第二操作模式的命令,其中识别第一数据集的更改版本或码字的更改版本是至少部分地基于处于第二操作模式。

图10示出的流程图说明如本文所公开的支持纠错管理的方法1000。方法1000的操作可以由如本文描述的存储器装置或其组件实施。例如,方法1000的操作可以由如参考图7描述的存储器装置执行。在一些实例中,存储器控制器可以执行指令集以控制存储器装置的功能元件从而执行所描述功能。另外或替代地,存储器装置可以使用专用硬件执行所描述功能的方面。

在1005,存储器装置可以从主机装置接收针对第一数据集的写入命令。1005的操作可以根据本文描述的方法执行。在一些实例中,1005的操作的方面可由如参考图7描述的接收组件执行。

在1010处,存储器装置可以基于写入命令生成与第一数据集相对应的码字。1010的操作可以根据本文描述的方法执行。在一些实例中,1010的操作的方面可由如参考图7描述的生成组件执行。

在1015处,存储器装置可以基于写入命令存储码字。1015的操作可以根据本文描述的方法执行。。在一些实例中,1015的操作的方面可由如参考图7描述的存储组件执行。

在1020处,存储器装置可以从主机装置接收针对第一数据集的读取命令。1020的操作可以根据本文描述的方法执行。在一些实例中,1020的操作的方面可由如参考图7描述的接收组件执行。

在1025处,存储器装置可以基于读取命令存取码字。1025的操作可以根据本文描述的方法执行。在一些实例中,1025的操作的方面可由如参考图7描述的存取组件执行。

在1030处,存储器装置可以基于存取码字而更改码字的至少一个位以生成码字的更改版本。1030的操作可以根据本文描述的方法执行。在一些实例中,1030的操作的方面可由如参考图7描述的更改组件执行。

在1035处,存储器装置可以将基于第一数据集的更改版本或码字的更改版本的第二数据集传输到主机装置。1035的操作可以根据本文描述的方法执行。在一些实例中,1035的操作的方面可由如参考图7描述的传输组件执行。

图11示出的流程图说明如本文所公开的支持纠错管理的方法1100。方法1100的操作可以由如本文描述的存储器装置或其组件实施。例如,方法1100的操作可以由如参考图7描述的存储器装置执行。在一些实例中,存储器控制器可以执行指令集以控制存储器装置的功能元件从而执行所描述功能。另外或替代地,存储器装置可以使用专用硬件执行所描述功能的方面。

在1105处,存储器装置可以从主机装置接收针对第一数据集的写入命令。1105的操作可以根据本文描述的方法执行。在一些实例中,1105的操作的方面可由如参考图7描述的接收组件执行。

在1110处,存储器装置可以基于写入命令生成与第一数据集相对应的码字。1110的操作可以根据本文描述的方法执行。在一些实例中,1110的操作的方面可由如参考图7描述的生成组件执行。

在1115处,存储器装置可以基于写入命令生成码字的更改版本。1115的操作可以根据本文描述的方法执行。在一些实例中,1115的操作的方面可由如参考图7描述的生成组件执行。

在1120处,存储器装置可以存储码字的更改版本。1120的操作可以根据本文描述的方法执行。在一些实例中,1120的操作的方面可由如参考图7描述的存储组件执行。

在1125处,存储器装置可以从主机装置接收针对第一数据集的读取命令。1125的操作可以根据本文描述的方法执行。在一些实例中,1125的操作的方面可由如参考图7描述的接收组件执行。

在1130处,存储器装置可以基于读取命令存取码字的更改版本。1130的操作可以根据本文描述的方法执行。在一些实例中,1130的操作的方面可由如参考图7描述的存取组件执行。

在1135处,存储器装置可以将基于第一数据集的更改版本或码字的更改版本的第二数据集传输到主机装置。1135的操作可以根据本文描述的方法执行。在一些实例中,1135的操作的方面可由如参考图7描述的传输组件执行。

图12示出的流程图说明如本文所公开的支持纠错管理的方法1200。方法1200的操作可以由如本文描述的存储器装置或其组件实施。例如,方法1200的操作可以由如参考图7描述的存储器装置执行。在一些实例中,存储器控制器可以执行指令集以控制存储器装置的功能元件从而执行所描述功能。另外或替代地,存储器装置可以使用专用硬件执行所描述功能的方面。

在1205,存储器装置可以从主机装置接收针对第一数据集的写入命令。1205的操作可以根据本文描述的方法执行。在一些实例中,1205的操作的方面可由如参考图7描述的接收组件执行。

在1210处,存储器装置可以基于写入命令将第一数据集存储在存储器装置内的第一位置。1210的操作可以根据本文描述的方法执行。在一些实例中,1210的操作的方面可由如参考图7描述的存储组件执行。

在1215处,存储器装置可以基于写入命令生成与第一数据集相对应的码字。1215的操作可以根据本文描述的方法执行。在一些实例中,1215的操作的方面可由如参考图7描述的生成组件执行。

在1220处,存储器装置可以基于写入命令将码字存储在存储器装置内的第二位置。1220的操作可以根据本文描述的方法执行。在一些实例中,1220的操作的方面可由如参考图7描述的存储组件执行。

在1225处,存储器装置可以从主机装置接收针对第一数据集的读取命令。1225的操作可以根据本文描述的方法执行。在一些实例中,1225的操作的方面可由如参考图7描述的接收组件执行。

在1230处,存储器装置可以从主机装置接收针对第一数据集的更改版本的第二写入命令。1230的操作可以根据本文描述的方法执行。在一些实例中,1230的操作的方面可由如参考图7描述的接收组件执行。

在1235处,存储器装置可以基于第二写入命令将第一数据集的更改版本存储在存储器装置内的第一位置,其中存储第一数据集的更改版本会覆写第一数据集中的至少一些。1235的操作可以根据本文描述的方法执行。在一些实例中,1235的操作的方面可由如参考图7描述的存储组件执行。

在1240处,存储器装置可以基于第二写入命令阻止存储器装置内的第二位置被存取并将码字存储在第二位置。1240的操作可以根据本文描述的方法执行。在一些实例中,1240的操作的方面可由如参考图7描述的阻止组件执行。

在1245处,存储器装置可以将基于第一数据集的更改版本或码字的更改版本的第二数据集传输到主机装置。1245的操作可以根据本文描述的方法执行。在一些实例中,1245的操作的方面可由如参考图7描述的传输组件执行。

图13示出的流程图说明如本文所公开的支持纠错管理的方法1300。方法1300的操作可以由如本文描述的主机装置或其组件实施。例如,方法1300的操作可以由如参考图8描述的主机装置执行。在一些实例中,主机装置可以执行指令集以控制存储器装置的功能元件从而执行所描述功能。另外或替代地,主机装置可以使用专用硬件执行所描述功能的方面。

在1305处,主机装置可以将针对第一数据集的写入命令传输到存储器装置。1305的操作可以根据本文描述的方法执行。在一些实例中,1305的操作的方面可由如参考图8描述的传输组件执行。

在1310,主机装置可以基于传输写入命令而将针对第一数据集的读取命令传输到存储器装置。1310的操作可以根据本文描述的方法执行。在一些实例中,1310的操作的方面可由如参考图8描述的传输组件执行。

在1315处,主机装置可以基于传输读取命令而从存储器装置接收基于第一数据集的更改版本或与第一数据集相对应的码字的更改版本的第二数据集。1315的操作可以根据本文描述的方法执行。在一些实例中,1315的操作的方面可由如参考图8描述的接收组件执行。

在一些实例中,如本文描述的设备可以执行一或多种方法,例如方法1300。所述设备可包含特征、构件或指令(例如,可由处理器执行的非暂时性计算机可读媒体存储指令),用于:将针对第一数据集的写入命令传输到存储器装置;至少部分地基于传输写入命令而将针对第一数据集的读取命令传输到存储器装置;以及至少部分地基于传输读取命令而从存储器装置接收至少部分地基于第一数据集的更改版本或与第一数据集相对应的码字的更改版本的第二数据集。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:确定第二数据集与第一数据集不同;以及至少部分地基于第二数据集与第一数据集不同而确定存储器装置已提交错误。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于确定存储器装置已提交错误而将一或多个命令传输到存储器装置。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:确定第二数据集与第一数据集完全相同;以及至少部分地基于第二数据集与第一数据集完全相同而确定存储器装置已提交错误。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:至少部分地基于确定存储器装置已提交错误而将一或多个命令传输到存储器装置。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:将指示第一数据集的更改版本的第二写入命令传输到存储器装置,其中在传输第二写入命令之后发生传输读取命令。

本文描述的方法、设备和非暂时性计算机可读媒体的一些实例可进一步包含操作、特征、构件或指令,用于:将进入用于测试纠错功能的操作模式的命令传输到存储器装置,其中接收第二数据集是至少部分地基于操作模式。

图14示出的流程图说明如本文所公开的支持纠错管理的方法1400。方法1400的操作可以由如本文描述的主机装置或其组件实施。例如,方法1400的操作可以由如参考图8描述的主机装置执行。在一些实例中,主机装置可以执行指令集以控制存储器装置的功能元件从而执行所描述功能。另外或替代地,主机装置可以使用专用硬件执行所描述功能的方面。

在1405处,主机装置可以将针对第一数据集的写入命令传输到存储器装置。1405的操作可以根据本文描述的方法执行。在一些实例中,1405的操作的方面可由如参考图8描述的传输组件执行。

在1410,主机装置可以基于传输写入命令而将针对第一数据集的读取命令传输到存储器装置。1410的操作可以根据本文描述的方法执行。在一些实例中,1410的操作的方面可由如参考图8描述的传输组件执行。

在1415处,主机装置可以基于传输读取命令而从存储器装置接收基于第一数据集的更改版本或与第一数据集相对应的码字的更改版本的第二数据集。1415的操作可以根据本文描述的方法执行。在一些实例中,1415的操作的方面可由如参考图8描述的接收组件执行。

在1420处,主机装置可以确定第二数据集与第一数据集不同。1420的操作可以根据本文描述的方法执行。在一些实例中,1420的操作的方面可由如参考图8描述的确定组件执行。

在1425处,主机装置可以基于第二数据集与第一数据集不同而确定存储器装置已提交错误。1425的操作可以根据本文描述的方法执行。在一些实例中,1425的操作的方面可由如参考图8描述的确定组件执行。

在1430处,主机装置可以基于确定存储器装置已提交错误而将一或多个命令传输到存储器装置。1430的操作可以根据本文描述的方法执行。在一些实例中,1430的操作的方面可由如参考图8描述的传输组件执行。

图15示出的流程图说明如本文所公开的支持纠错管理的方法1500。方法1500的操作可以由如本文描述的主机装置或其组件实施。例如,方法1500的操作可以由如参考图8描述的主机装置执行。在一些实例中,主机装置可以执行指令集以控制存储器装置的功能元件从而执行所描述功能。另外或替代地,主机装置可以使用专用硬件执行所描述功能的方面。

在1505处,主机装置可以将针对第一数据集的写入命令传输到存储器装置。1505的操作可以根据本文描述的方法执行。在一些实例中,1505的操作的方面可由如参考图8描述的传输组件执行。

在1510,主机装置可以基于传输写入命令而将针对第一数据集的读取命令传输到存储器装置。1510的操作可以根据本文描述的方法执行。在一些实例中,1510的操作的方面可由如参考图8描述的传输组件执行。

在1515处,主机装置可以基于传输读取命令而从存储器装置接收基于第一数据集的更改版本或与第一数据集相对应的码字的更改版本的第二数据集。1515的操作可以根据本文描述的方法执行。在一些实例中,1515的操作的方面可由如参考图8描述的接收组件执行。

在1520处,主机装置可以确定第二数据集与第一数据集完全相同。1520的操作可以根据本文描述的方法执行。在一些实例中,1520的操作的方面可由如参考图8描述的确定组件执行。

在1525处,主机装置可以基于第二数据集与第一数据集完全相同而确定存储器装置已提交错误。1525的操作可以根据本文描述的方法执行。在一些实例中,1525的操作的方面可由如参考图8描述的确定组件执行。

在1530处,主机装置可以基于确定存储器装置已提交错误而将一或多个命令传输到存储器装置。1530的操作可以根据本文描述的方法执行。在一些实例中,1530的操作的方面可由如参考图8描述的传输组件执行。

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

在一些实例中,一种设备或装置可执行本文描述的功能的方面。所述装置可包含第一存储器单元集,其用于存储数据;第二存储器单元集,其用于存储与所述数据相关联的码字;编码器,其与所述第二存储器单元集耦合且用于生成与所述数据相关联的所述码字;以及电路系统,其与所述第二存储器单元集耦合。在一些实例中,所述电路系统可以确定所述设备被配置成处于第一操作模式或第二操作模式;当所述设备被配置成处于所述第一操作模式时,将由所述编码器生成的第一码字传播到所述第二存储器单元集;以及当所述设备被配置成处于所述第二操作模式时,丢弃或更改由所述编码器生成的第二码字。

在一些实例中,所述电路系统可以至少部分地基于针对与所述第二码字相关联的数据集的读取命令或写入命令,反转所述第二码字的至少一个位。

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

如本文所使用,术语“虚拟接地”是指保持在大约零伏(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)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘使用激光以光学方式复制数据。以上各者的组合也包含在计算机可读媒体的范围内。

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

相关技术
  • 存储器装置的纠错管理
  • 纠错码生成方法以及存储器管理装置
技术分类

06120112979201