CN115910185A - 存储器错误校正技术 - Google Patents
存储器错误校正技术 Download PDFInfo
- Publication number
- CN115910185A CN115910185A CN202210926398.6A CN202210926398A CN115910185A CN 115910185 A CN115910185 A CN 115910185A CN 202210926398 A CN202210926398 A CN 202210926398A CN 115910185 A CN115910185 A CN 115910185A
- Authority
- CN
- China
- Prior art keywords
- refresh
- data
- row
- value
- counter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40615—Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
- G06F11/106—Correcting systematically all correctable errors, i.e. scrubbing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4062—Parity or ECC in refresh operations
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案涉及存储器错误校正。存储器系统可支持利用错误校正码ECC操作的刷新。可在从主机装置到存储器装置的命令中指示所述利用ECC操作的刷新,或所述存储器装置可支持自主地执行所述利用ECC操作的刷新,例如作为自刷新操作的一部分。所述利用ECC操作的刷新可使得所述存储器系统对存储器阵列行的至少一部分执行错误校正操作,作为用于所述行的刷新操作的一部分。所述错误校正操作可在数据集的额外位损坏之前校正所述数据集中的位错误。可使用与ECC巡逻块相关联的一或多个计数器来确定所述行的所述部分的地址。
Description
交叉引用
本专利申请案要求王(WANG)的在2022年7月29日申请的名称为“存储器错误校正技术(TECHNIQUES FOR MEMORY ERROR CORRECTION)”的美国专利申请案第17/877,210号及王的名称为“存储器错误校正技术”且在2021年8月03日申请的美国临时专利申请案第63/228,816号的优先权,所述申请案让与给本受让人且以全文引用的方式明确地并入本文中。
技术领域涉及存储器错误校正技术。
背景技术
存储器装置广泛用于将信息存储在例如计算机、用户装置、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程到各种状态来存储信息。举例来说,二进制存储器单元可编程为两个支持状态中的一个,通常由逻辑1或逻辑0来标示。在一些实例中,单个存储器单元可支持多于两个状态,可存储所述状态中的任一个。为了存取所存储信息,组件可读取或感测存储器装置中的至少一个所存储状态。为了存储信息,组件可写入或编程存储器装置中的状态。
存在各种类型的存储器装置和存储器单元,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、自选存储器、硫属化物存储器技术等。存储器单元可以是易失性或非易失性的。即使在无外部电源存在的情况下,非易失性存储器(例如FeRAM)也可维持其所存储逻辑状态很长一段时间。易失性存储器装置(例如DRAM)在与外部电源断开连接时可能丢失其所存储状态。
发明内容
描述一种设备。设备可包含:存储器装置;及用于存储器装置的控制器,控制器配置成使得设备:在电子装置处识别用于存储器阵列内的存储器单元行的刷新操作;响应于识别刷新操作而存取存储器阵列内的存储器单元行;基于响应于识别刷新操作而存取行来确定行是否包含数据错误;以及基于确定行包含数据错误而使用错误校正程序校正数据错误。
描述一种存储代码的非暂时性计算机可读媒体。存储代码的非暂时性计算机可读媒体可包含指令,指令在由电子装置的处理器执行时使得电子装置:在电子装置处识别用于存储器阵列内的存储器单元行的刷新操作;响应于识别刷新操作而存取存储器阵列内的存储器单元行;基于响应于识别刷新操作而存取行来确定行是否包含数据错误;以及基于确定行包含数据错误而使用错误校正程序校正数据错误。
描述一种方法。方法可包含:在存储器系统处识别用于存储器阵列内的存储器单元行的刷新操作;响应于识别刷新操作而存取存储器阵列内的存储器单元行;基于响应于识别刷新操作而存取行来确定行是否包含数据错误;以及基于确定行包含数据错误而使用错误校正程序校正数据错误。
附图说明
图1说明根据如本文中所公开的实例的支持存储器错误校正技术的系统的实例。
图2说明根据如本文中所公开的实例的支持存储器错误校正技术的存储器裸片的实例。
图3说明根据如本文中所公开的实例的支持存储器错误校正技术的系统的实例。
图4说明根据如本文中所公开的实例的支持存储器错误校正技术的过程流程的实例。
图5展示根据如本文中所公开的实例的支持存储器错误校正技术的存储器装置的框图。
图6展示说明根据如本文中所公开的实例的支持存储器错误校正技术的一或多种方法的流程图。
具体实施方式
存储于存储器装置(例如动态随机存取存储器(DRAM)装置)中的数据可随时间推移而例如由于电磁干扰、高能量粒子(例如宇宙射线)、存储器单元耗损和老化或其它错误机制引起损坏。因此,所存储数据在一些情况下可包含一或多个错误,且相较于存储相对较短时间的数据,存储相对较长时间的数据可更有可能含有多个错误。在一些情况下,可例如使用单错校正(SEC)错误校正码(ECC)来校正单位错误(SBE)。然而,未校正的SBE最终可能变为不可校正的双位错误(DBE)或其它类型的多位错误,因为在数据集内的一个位损坏之后,所述数据集内的一或多个额外位随后也可能损坏。本文中的公开内容可支持在SBE变为DBE或其它类型的多位错误之前校正SBE。此外,虽然本文中可在于经历错误检测和校正程序的数据集内出现额外错误之前校正SBE的情形中阐述实例,但应理解,本文中的教示可进一步扩展为应用于在包含任何数量的位的错误(例如DBE)变为包含一或多个额外位的错误之前检测及校正所述包含任何数量的位的错误。
存储器装置可包含存储奇偶校验位以用于检测错误的ECC块,例如作为错误校正操作的一部分。在一些情况下,ECC块可在例如读取或写入操作的存取操作期间校正错误。也就是说,ECC块可对存储于存储器单元或存储器单元组中的数据执行错误校正,作为从存储器单元或存储器单元组读取数据或将数据写入到存储器单元或存储器单元组的一部分。然而,存储器装置的一些部分可能并不如其它部分一样频繁地存取(即,相较于被更频繁地存取的“热(hot)”部分,一些部分可为“冷(cold)”),且因此,存储器装置的这些部分中的SBE可更有可能在存取这类数据之前转变为DBE。
如本文中所描述,存储器装置可执行错误校正作为刷新操作的一部分,以对存储器装置的每一部分周期性地执行错误校正。举例来说,主机装置可周期性地发射指示ECC检查待执行的具有ECC的刷新命令(例如REF_wECC),其中带ECC刷新命令可不同于刷新命令(即,不同于在无错误校正的情况下执行的刷新命令)。存储器装置可包含ECC巡逻块,所述ECC巡逻块包含用以指示其上执行错误校正的行的一部分(即,行的逻辑列的数量)的计数器。响应于接收带ECC刷新命令,存储器装置可激活行且针对所述行的部分执行错误校正以检查及校正错误。ECC巡逻块还可递增及重置计数器,使得ECC块可在若干带ECC刷新命令的过程中对存储器装置的每一行的每一部分执行错误校正。另外或替代地,存储器装置可在自刷新模式中操作,且可在不从主机系统接收命令的情况下执行刷新操作,包含如本文中所描述的带ECC刷新操作。虽然可参考DRAM装置描述本公开的实例,但本文中所描述的技术可应用于任何存储器类型。
首先在如参考图1和2所描述的系统和裸片的上下文中描述本公开的特征。在如参考图3到4所描述的系统和过程流程的上下文中描述本公开的特征。参考涉及如参考图5到6所描述的存储器错误校正技术的设备图和流程图来进一步说明及描述本公开的这些和其它特征。
图1说明根据如本文中所公开的实例的支持存储器错误校正技术的系统100的实例。系统100可包含主机装置105、存储器装置110以及将主机装置105与存储器装置110耦合的多个通道115。系统100可包含一或多个存储器装置110,但一或多个存储器装置110的各方面可在单个存储器装置(例如存储器装置110)的上下文中进行描述。
系统100可包含例如计算装置、移动计算装置、无线装置、图形处理装置、车辆或其它系统的电子装置的部分。举例来说,系统100可说明计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、互联网连接装置、车辆控制器等的各方面。存储器装置110可以是可操作以存储用于系统100的一或多个其它组件的数据的系统的组件。
系统100的至少部分可以是主机装置105的实例。主机装置105可以是使用存储器执行过程的装置内(例如计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、互联网连接装置、车辆控制器、芯片上系统(SoC)或某一其它固定或便携式电子装置内)的处理器或其它电路的实例,以及其它实例。在一些实例中,主机装置105可指实施外部存储器控制器120的功能的硬件、固件、软件或其组合。在一些实例中,外部存储器控制器120可被称为主机或主机装置105。
存储器装置110可以是可操作以提供可供系统100使用或参考的物理存储器地址/空间的独立装置或组件。在一些实例中,存储器装置110可配置以与一或多个不同类型的主机装置一起工作。主机装置105与存储器装置110之间的信令可操作以支持以下中的一或多个:用以调制信号的调制方案、用于传送信号的各种引脚配置、用于主机装置105和存储器装置110的物理封装的各种形状因数、主机装置105与存储器装置110之间的时钟信令和同步、定时惯例,或其它因素。
存储器装置110可操作以存储用于主机装置105的组件的数据。在一些实例中,存储器装置110可充当主机装置105的次要型或从属型装置(例如响应且执行由主机装置105通过外部存储器控制器120提供的命令)。这类命令可包含用于写入操作的写入命令、用于读取操作的读取命令、用于刷新操作的刷新命令或其它命令中的一或多个。
主机装置105可包含外部存储器控制器120、处理器125、基本输入/输出系统(BIOS)组件130或例如一或多个外围组件或一或多个输入/输出控制器等其它组件中的一或多个。主机装置105的组件可使用总线135彼此耦合。
处理器125可操作以针对系统100的至少部分或主机装置105的至少部分提供控制或其它功能。处理器125可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或这些组件的组合。在这类实例中,处理器125可以是中央处理单元(CPU)、图形处理单元(GPU)、通用GPU(GPGPU)或SoC的实例以及其它实例。在一些实例中,外部存储器控制器120可由处理器125实施或为所述处理器125的一部分。
BIOS组件130可以是包含操作为固件的BIOS的软件组件,其可初始化且运行系统100或主机装置105的各种硬件组件。BIOS组件130还可管理处理器125与系统100或主机装置105的各种组件之间的数据流。BIOS组件130可包含存储在只读存储器(ROM)、快闪存储器或其它非易失性存储器中的一或多个中的程序或软件。
存储器装置110可包含装置存储器控制器155和一或多个存储器裸片160(例如,存储器芯片)以支持用于数据存储的期望容量或指定容量。每一存储器裸片160(例如存储器裸片160-a、存储器裸片160-b、存储器裸片160-N)可包含本地存储器控制器165(例如本地存储器控制器165-a、本地存储器控制器165-b、本地存储器控制器165-N)和存储器阵列170(例如存储器阵列170-a、存储器阵列170-b、存储器阵列170-N)。存储器阵列170可以是存储器单元的集合(例如一或多个网格、一或多个存储体、一或多个图案块、一或多个区段),其中每一存储器单元可操作以存储至少一个位的数据。包含两个或更多个存储器裸片160的存储器装置110可被称为多裸片存储器或多裸片封装,或多芯片存储器或多芯片封装。
装置存储器控制器155可包含可操作以控制存储器装置110的操作的电路、逻辑或组件。装置存储器控制器155可包含使得存储器装置110能够执行各种操作且可操作以接收、发射或执行与存储器装置110的组件有关的命令、数据或控制信息的硬件、固件或指令。装置存储器控制器155可操作以与外部存储器控制器120、一或多个存储器裸片160或处理器125中的一或多个通信。在一些实例中,装置存储器控制器155可结合存储器裸片160的本地存储器控制器165控制本文中所描述的存储器装置110的操作。
在一些实例中,存储器装置110可从主机装置105接收数据或命令或这两者。举例来说,存储器装置110可接收指示存储器装置110要存储用于主机装置105的数据的写入命令或指示存储器装置110要将存储于存储器裸片160中的数据提供到主机装置105的读取命令。
本地存储器控制器165(例如对于存储器裸片160来说是本地的)可包含可操作以控制存储器裸片160的操作的电路、逻辑或组件。在一些实例中,本地存储器控制器165可操作以与装置存储器控制器155通信(例如接收或发射数据或命令或这两者)。在一些实例中,存储器装置110可不包含装置存储器控制器155,且本地存储器控制器165或外部存储器控制器120可执行本文中所描述的各种功能。因此,本地存储器控制器165可操作以与装置存储器控制器155、与其它本地存储器控制器165或直接与外部存储器控制器120或处理器125或其组合通信。装置存储器控制器155或本地存储器控制器165或这两者中可包含的组件的实例可包含用于(例如从外部存储器控制器120)接收信号的接收器、用于发射信号(例如到外部存储器控制器120)的发射器、用于解码或解调接收到的信号的解码器、用于编码或调制待发射的信号的编码器,或可操作用于支持装置存储器控制器155或本地存储器控制器165或这两者的所描述操作的各种其它电路或控制器。
外部存储器控制器120可操作以实现系统100或主机装置105(例如处理器125)的组件与存储器装置110之间的信息、数据或命令中的一或多个的传送。外部存储器控制器120可转换或转译在主机装置105的组件与存储器装置110之间交换的通信。在一些实例中,外部存储器控制器120或系统100或主机装置105的其它组件或本文中所描述的其功能可由处理器125实施。举例来说,外部存储器控制器120可以是由处理器125或系统100或主机装置105的其它组件实施的硬件、固件或软件或其一些组合。尽管将外部存储器控制器120描绘为处于存储器装置110外部,但在一些实例中,外部存储器控制器120或本文中所描述的其功能可由存储器装置110的一或多个组件(例如装置存储器控制器155、本地存储器控制器165)实施,或反之亦然。
主机装置105的组件可使用一或多个通道115与存储器装置110交换信息。通道115可操作以支持外部存储器控制器120与存储器装置110之间的通信。每一通道115可以是在主机装置105与存储器装置之间载送信息的发射媒体的实例。每一通道115可包含与系统100的组件相关联的端子之间的一或多个信号路径或发射媒体(例如导体)。信号路径可以是可操作以载送信号的导电路径的实例。举例来说,通道115可包含第一端子,其包含主机装置105处的一或多个引脚或焊盘以及存储器装置110处的一或多个引脚或焊盘。引脚可以是系统100的装置的导电输入或输出点的实例,且引脚可操作以充当通道的部分。
通道115(和相关联的信号路径和端子)可专用于传送一或多种类型的信息。举例来说,通道115可包含一或多个命令和地址(CA)通道186、一或多个时钟信号(CK)通道188、一或多个数据(DQ)通道190、一或多个其它通道192,或其组合。在一些实例中,可使用单倍数据速率(SDR)信令或双倍数据速率(DDR)信令通过通道115传送信令。在SDR信令中,信号的一个调制符号(例如信号电平)可针对每一时钟循环(例如在时钟信号的上升或下降沿上)进行登记。在DDR信令中,信号的两个调制符号(例如信号电平)可针对每一时钟循环(例如在时钟信号的上升沿和下降沿两者上)进行登记。
在一些实例中,CA通道186可操作以在主机装置105与存储器装置110之间传送命令,所述命令包含与所述命令相关联的控制信息(例如地址信息)。举例来说,由CA通道186载送的命令可包含具有期望数据的地址的读取命令。在一些实例中,CA通道186可包含解码地址或命令数据中的一或多个的任何数量的信号路径(例如八个或九个信号路径)。
在一些实例中,数据通道190可操作以在主机装置105与存储器装置110之间传送数据或控制信息中的一或多个。举例来说,数据通道190可传送待写入到存储器装置110的信息(例如双向)或从存储器装置110读取的信息。
在一些实例中,一或多个其它通道192可包含一或多个错误检测码(EDC)通道。EDC通道可操作以传送错误检测信号,例如校验和,以提高系统可靠性。EDC通道可包含任何数量的信号路径。
系统100可包含任何数量的支持存储器错误校正技术的非暂时性计算机可读媒体。举例来说,主机装置105、装置存储器控制器155或存储器装置110可包含或另外可存取一或多个非暂时性计算机可读媒体,所述一或多个非暂时性计算机可读媒体存储指令(例如固件)以执行本文中归属于主机装置105、装置存储器控制器155或存储器装置110的功能。举例来说,如果由主机装置105(例如由外部存储器控制器120)、由装置存储器控制器155或由存储器装置110(例如由本地控制器165)执行这些指令,那么这些指令可使得主机装置105、装置存储器控制器155或存储器装置110执行如本文中所描述的相关联功能。
在一些情况下,存储器裸片160可包含用于对存储在存储器裸片160上的数据执行错误校正操作(例如SEC操作)的ECC块(即,裸片上ECC块)。例如单位错误(SBE)的错误可因电磁辐射、高能量粒子(例如来自宇宙射线)、存储器单元耗损和老化或其组合以及其它实例引入到数据中。如果具有SBE的数据集产生一或多个额外错误(即,双位错误(DBE)或多位错误(MBE)),那么例如SEC和SECDED的错误校正操作可能无法校正DBE。因此,可能有利的是相对快速地校正SBE,且因此减小产生DBE的可能性。为校正SBE,可在存取操作(即,读取或写入操作)期间对数据执行错误校正操作。然而,存储器阵列170中的数据的一些区可比其它区更频繁地存取(即,数据的一些区可为“热”,而其它区可为“冷”)。由于存储器阵列170的冷区相对不频繁地存取,所以冷区可更容易产生DBE。
在一些情况下,存储器系统100可通过周期性地对存储器阵列170的每一区执行存取操作(例如读取操作)来防止冷区产生DBE或MBE,因此防止任何区变冷。然而,周期性地对存储器阵列170的每一区执行读取操作可例如通过消耗用于在主机装置105与存储器装置110之间传送数据的带宽资源而导致系统延迟和功率消耗。也就是说,用于防止冷区的读取操作可防止其它操作在读取操作期间在主机装置105与存储器装置110之间传递数据。举例来说,由读取操作消耗的用于防止冷区的带宽资源可造成所谓的页冲突,其中两个紧接在后的存取操作(例如读取后跟着读取或写入,或写入后跟着读取或写入)可以相同存储体的不同行(即,页)为目标。这类页冲突情况导致行切换命令和操作(例如激活和预充电命令和操作)的数量增加,这随后可降低效率(例如整体总线效率)。
在一些实例中,存储器系统100可执行错误校正作为刷新操作的一部分,例如除了作为存取操作(例如读取或写入操作)的一部分的执行错误校正以外或作为所述执行错误校正的替代。举例来说,存储器系统100可配置成支持刷新命令以及带ECC刷新命令。刷新命令可使得存储器阵列170的区(例如一行存储器阵列170)经存取且读取数据写回到所述区。替代地,带ECC刷新命令可使得存储器阵列170的区经存取,且连同读取数据写回到所述区,可使得ECC块对区或区的一部分执行错误校正操作。在一些情况下,主机装置105可配置成将刷新命令、带ECC刷新命令或这两者发出到存储器装置110。在其它情况下,存储器装置110可发起具有ECC的刷新操作例如作为自刷新模式的一部分。支持带ECC刷新命令的存储器系统100可通过防止冷区产生多位错误而减小系统延迟和功率消耗,而不消耗用于在主机装置105与存储器装置110之间传送数据的带宽资源。
图2说明根据如本文中所公开的实例的支持存储器错误校正技术的存储器裸片200的实例。存储器裸片200可以是参考图1所描述的存储器裸片160的实例。在一些实例中,存储器裸片200可被称为存储器芯片、存储器装置或电子存储器设备。存储器裸片200可包含一或多个存储器单元205,其可各自可编程以存储不同逻辑状态(例如编程为一组两个或更多个可能状态中的一个)。举例来说,存储器单元205可操作以每次存储一个位的信息(例如逻辑0或逻辑1)。在一些实例中,存储器单元205(例如多级存储器单元)可操作以每次存储多于一个位的信息(例如逻辑00、逻辑01、逻辑10、逻辑11)。在一些实例中,存储器单元205可布置成阵列,例如参考图1所描述的存储器阵列170。
存储器单元205可将表示可编程状态的电荷存储在电容器中。DRAM架构可包含电容器,所述电容器包含电介质材料以存储表示可编程状态的电荷。在其它存储器架构中,其它存储装置和组件是可能的。举例来说,可使用非线性电介质材料。存储器单元205可包含例如电容器230和开关组件235的逻辑存储组件。电容器230可以是电介质电容器或铁电电容器的实例。电容器230的节点可与电压源240耦合,所述电压源240可为单元板参考电压,例如Vpl,或可为接地,例如Vss。
存储器裸片200可包含以例如网格状图案的图案布置的一或多个存取线(例如一或多个字线210和一或多个数字线215)。存取线可以是与存储器单元205耦合的导电线,且可用于对存储器单元205执行存取操作。在一些实例中,字线210可被称为行线。在一些实例中,数字线215可被称为列线或位线。对存取线、行线、列线、字线、数字线或位线或其类似物的引用可在不影响理解或操作的情况下互换。存储器单元205可定位于字线210与数字线215的相交点处。
可通过激活或选择例如字线210或数字线215中的一或多个的存取线来对存储器单元205执行例如读取和写入的操作。通过偏置字线210和数字线215(例如将电压施加到字线210或数字线215),可在其相交点处存取单个存储器单元205。二维或三维配置中的字线210和数字线215的相交点可被称为存储器单元205的地址。
可通过行解码器220或列解码器225控制存取存储器单元205。举例来说,行解码器220可从本地存储器控制器260接收行地址且基于(例如使用)接收到的行地址激活字线210。列解码器225可从本地存储器控制器260接收列地址且可基于(例如使用)接收到的列地址激活数字线215。
可通过使用字线210激活或去激活开关组件235来实现选择或取消选择存储器单元205。电容器230可使用开关组件235与数字线215耦合。举例来说,如果去激活开关组件235,那么电容器230可与数字线215隔离,且如果激活开关组件235,那么电容器230可与数字线215耦合。
感测组件245可操作以检测存储在存储器单元205的电容器230上的状态(例如电荷)且基于(例如使用)所存储状态确定存储器单元205的逻辑状态。感测组件245可包含一或多个感测放大器以放大或以其它方式转换因存取存储器单元205而产生的信号。感测组件245可比较从存储器单元205检测到的信号与参考250(例如参考电压)。存储器单元205的检测到的逻辑状态可作为感测组件245的输出提供(例如到输入/输出255),且可向包含存储器裸片200的存储器装置的另一组件指示检测到的逻辑状态。
本地存储器控制器260可通过各种组件(例如行解码器220、列解码器225、感测组件245)控制对存储器单元205的存取。本地存储器控制器260可以是参考图1所描述的本地存储器控制器165的实例。在一些实例中,行解码器220、列解码器225和感测组件245中的一或多个可与本地存储器控制器260并置。本地存储器控制器260可操作以从一或多个不同存储器控制器(例如与主机装置105相关联的外部存储器控制器120、与存储器裸片200相关联的另一控制器)接收命令或数据中的一或多个,将命令或数据(或这两者)转译为可由存储器裸片200使用的信息,对存储器裸片200执行一或多个操作,且基于(例如响应于)执行所述一或多个操作而将数据从存储器裸片200传送到主机装置105。本地存储器控制器260可产生行信号和列地址信号以激活目标字线210和目标数字线215。本地存储器控制器260还可产生并控制在存储器裸片200的操作期间使用的各种电压或电流。一般来说,本文中所论述的所施加电压或电流的幅度、形状或持续时间可变化且可针对在操作存储器裸片200中所论述的各种操作而不同。
本地存储器控制器260可操作以对存储器裸片200的一或多个存储器单元205执行一或多个存取操作。存取操作的实例可包含写入操作、读取操作、刷新操作、预充电操作或激活操作等。在一些实例中,存取操作可由本地存储器控制器260响应于各种存取命令(例如来自主机装置105)而执行或以其它方式进行协调。本地存储器控制器260可操作以执行此处未列出的其它存取操作或与存储器裸片200的操作有关的不与存取存储器单元205直接有关的其它操作。
本地存储器控制器260可操作以对存储器裸片200的一或多个存储器单元205执行写入操作(例如编程操作)。在写入操作期间,存储器裸片200的存储器单元205可编程以存储期望逻辑状态。本地存储器控制器260可识别其上执行写入操作的目标存储器单元205。本地存储器控制器260可识别与目标存储器单元205(例如目标存储器单元205的地址)耦合的目标字线210和目标数字线215。本地存储器控制器260可激活目标字线210和目标数字线215(例如将电压施加到字线210或数字线215)以存取目标存储器单元205。本地存储器控制器260可在写入操作期间将特定信号(例如写入脉冲)施加到数字线215以将特定状态(例如电荷)存储在存储器单元205的电容器230中。用作写入操作的一部分的脉冲可包含一段持续时间内的一或多个电压电平。
本地存储器控制器260可操作以对存储器裸片200的一或多个存储器单元205执行读取操作(例如感测操作)。在读取操作期间,可确定存储于存储器裸片200的存储器单元205中的逻辑状态。本地存储器控制器260可识别其上执行读取操作的目标存储器单元205。本地存储器控制器260可识别与目标存储器单元205(例如目标存储器单元205的地址)耦合的目标字线210和目标数字线215。本地存储器控制器260可激活目标字线210和目标数字线215(例如将电压施加到字线210或数字线215)以存取目标存储器单元205。目标存储器单元205可响应于偏置存取线而将信号传递到感测组件245。感测组件245可放大信号。本地存储器控制器260可激活感测组件245(例如锁存感测组件),且由此比较从存储器单元205接收到的信号与参考250。基于(例如使用)所述比较,感测组件245可确定存储在存储器单元205上的逻辑状态。
在一些实例中,可包含存储器裸片200作为对安全性敏感、稳定性敏感或这两者的车载或其它系统的一部分。例如SBE的错误可因电磁辐射、高能量粒子(例如来自宇宙射线)、存储器单元耗损和老化或其组合以及其它实例引入到存储在存储器裸片200中的数据中。如果具有SBE的数据集产生一或多个额外错误,例如DBE或MBE,那么例如SEC和SECDED的错误校正操作可能无法校正所述错误。因此,可能有利的是相对快速地校正SBE,且因此减小产生DBE的可能性。
在一些情况下,存储器裸片200可包含ECC块275(例如裸片上ECC)以对存储在存储器裸片200中的数据执行错误校正操作,其可包含错误检测操作或能力。ECC块275可在存取操作(即,读取或写入操作)期间对数据执行错误校正操作。然而,存储器裸片200中的数据的一些区可比其它区更频繁地存取(即,数据的一些区可为“热”,而其它区可为“冷”)。由于存储器裸片200的冷区相对不频繁地存取,所以冷区可更容易产生DBE或MBE。
在一些实例中,存储器裸片200可执行错误校正作为刷新操作的一部分,例如替代作为存取操作(例如读取或写入操作)的一部分的执行错误校正或除了所述执行错误校正以外。举例来说,存储器裸片200可配置成支持刷新命令以及带ECC刷新命令。另外或替代地,存储器裸片200可支持执行具有ECC的刷新操作作为自刷新模式的一部分。刷新操作可使得存储器裸片200的区(例如存储器单元行205)经存取且写回到所述区。替代地,具有ECC的刷新操作可使得存储器阵列的区经存取,且随后可使得ECC块275对区或区的一部分执行错误校正操作。支持带ECC刷新操作的存储器裸片200可通过防止冷区产生而减小系统延迟和功率消耗,而不消耗用于在主机系统与存储器装置之间传送数据的带宽资源。
为了对数据集执行错误校正,ECC块275可配置成使用代码或算法产生与所述数据集相关联的第一一或多个奇偶校验位集。可比较第一奇偶校验位与第二奇偶校验位集,所述第二奇偶校验位集是使用相同代码或算法产生的,例如作为先前写入数据集的一部分或以其它方式结合先前写入数据集。如果数据集中未引入错误,那么第一奇偶校验位与第二奇偶校验位可匹配。因此,ECC块275可配置成通过比较第一奇偶校验位与第二奇偶校验位来确定数据集是否含有数据错误。在一些情况下,ECC块275可配置成校正在错误校正程序期间检测到的SBE,但支持数据集中的其它数量的错误的检测或校正的ECC方案可替代地由ECC块275实施。
图3说明根据如本文中所公开的实例的支持存储器错误校正技术的系统300的实例。系统300可包含列解码器225-a、行解码器220-a、输入/输出255-a、感测组件245-a和ECC块275-a,其可以是参考图2所描述的对应装置的实例。
系统300还可包含:存储器控制器301,其可包含参考图1和2描述的装置存储器控制器或本地存储器控制器的各方面;以及存储器阵列303,其可包含存储器单元的行和列。ECC块275-a可对存储器阵列303的部分执行错误校正,例如SEC操作。也就是说,ECC块275-a可结合刷新操作针对数据错误检查行的第一部分,且避免结合刷新操作针对数据错误检查行的第二部分。存储器控制器301可包含控制器逻辑组件302,其配置成从主机装置接收或处理命令,例如刷新命令。命令可由命令/地址(C/A)解码组件320解码。举例来说,C/A解码组件320可配置成确定命令是刷新命令还是带ECC刷新命令。存储器控制器301还可包含行多工器(MUX)321和列MUX 322,其可配置成将行和列地址发出到行解码器220-a和列解码器225-a,作为例如刷新操作的一部分。刷新操作可包含存取一行存储器阵列303以及刷新存储在所述行中的数据(例如将存储在行中的数据写回到行)。
存储器控制器301可包含刷新计数器305,其可配置成追踪并存储与存储器阵列303处执行的刷新操作的数量(例如自刷新计数器305的最新重置)相关联的值。刷新计数器305可向行MUX 321指示待刷新的行或行集,所述行MUX 321又可向行解码器220-a和存储器阵列303指示待刷新的行或行集。举例来说,在从控制器逻辑组件302接收刷新指示330后,刷新计数器305可将基于(例如使用)刷新计数器305的值而刷新的行或行集的指示311发出到行MUX 321,且刷新计数器305的值可递增。在一些情况下,如果刷新计数器305的递增值将超过存储器阵列303中的行的数量或计数器以其它方式到达阈值或滚转,那么刷新计数器305的值可重置(例如重置为零)。也就是说,例如在刷新存储器阵列303的每一行之后,刷新计数器305可重置(例如为初始值)。因此,在接收等于存储器阵列303的行(或用于刷新目的的行集)的数量的刷新指示330的数量后,可刷新存储器阵列303的每一行。
存储器控制器还可包含ECC巡逻块310。ECC巡逻块310可包含计数器315,其可指示其上将执行错误校正的行的一部分。举例来说,计数器315可指示其上将执行错误校正的行的一或多个逻辑列的地址。行的部分中包含的逻辑列的数量(即,出于ECC巡逻目的将行划分为各部分的粒度,其可对应于将行划分为多少个部分)可使用命令、通过固件或通过用户输入以及其它实例来配置。在一些实例中,行的部分可对应于从中读取数据的突发的列的数量,且可被称为预提取单元。在其它实例中,行的部分可包含存储器阵列303的整个行,或存储器阵列303的任何数量的逻辑列。ECC巡逻块310可将行的部分的指示发出到列MUX 322和ECC块275-a。响应于指示,列MUX 322可将指示发出到列解码器225-a,其可将指示发出到输入/输出255-a,其中输入/输出255-a可配置成将行的部分的地址传递到ECC块275-a。计数器315可在达到阈值后(例如在计数器315的值对应于存储器阵列303内的最末行部分(例如列的最末集)后)重置,计数器315的下一递增可使得计数器的值重置(例如滚转)。
ECC块275-a可对行的部分执行错误校正,且作为刷新操作的一部分,将结果(例如由于错误校正而校正的任何校正位的指示)发出(即,经由输入/输出255-a和感测组件245-a)到存储器阵列。也就是说,ECC块275-a可确定行的部分是否包含数据错误(例如SBE),且在一些实例中,校正行的部分中的数据错误。为识别并校正行的一部分中的错误,ECC块275-a可产生用于行的部分的一或多个奇偶校验位且比较奇偶校验位与对应于先前已存储的行的部分的奇偶校验位。
计数器315可存储并递增指示ECC块275a将对其执行错误校正的行的部分的值(即,地址计数器或列计数器)。举例来说,存储器阵列303的每一行的存储器单元可分组成可索引化的数量个单元(例如行的部分,例如预提取单元),其中索引对应于计数器315的可能值。
在一些实例中,在接收带ECC刷新指示335后,ECC巡逻块310还可接收刷新计数器305的值的指示311,ECC巡逻块310可配置成基于刷新计数器305的值(例如基于刷新计数器305重置)而递增计数器315。另外或替代地,ECC巡逻块310可配置成基于接收到的带ECC刷新指示335的数量而递增计数器315。举例来说,ECC巡逻块可包含错误校正计数器316,其可配置成在每次接收到带ECC刷新指示335时递增,且ECC巡逻块310可配置成基于错误校正计数器316的值(例如基于错误校正计数器316重置)而递增计数器315。
可由主机装置和系统300中的一个或两个管理每刷新指示330发出的带ECC刷新指示335的数量。举例来说,可每周期发出带ECC刷新指示335一次,其中所述周期可表示刷新指示330的数量。在一些情况下,周期可以是刷新循环的数量p,其中刷新循环可以是用于刷新存储器阵列303的每一行的刷新操作的数量。因此,举例来说,p乘以刷新循环中的刷新操作的数量(例如p乘以用于刷新一次存储器阵列303的每一行的刷新操作的数量)可对应于(例如等于)在每一连续带ECC刷新操作之间执行的常规刷新操作的数量。在一些其它情况下,周期可以是刷新指示330的数量p(例如对于每两个刷新指示330,可发出一个带ECC刷新指示335)。因此,在一些情况下,周期可为刷新循环的一部分。
在一些情况下,例如作为自动刷新模式的一部分,主机装置可将刷新命令发送到系统300。在这类情况下,主机装置可包含刷新处置器,其可配置成手动地或自动地调整数量p。另外或替代地,系统300可使用自刷新模式操作,在自刷新模式中,系统300在不从主机装置接收刷新命令的情况下执行刷新操作。如果在自刷新模式中操作,那么系统300可包含用于存储数量p的模式寄存器319,且可确定自刷新操作期间的周期。在一些情况下,例如在自刷新进入或自刷新退出后,可发出一个带ECC刷新指示335。也就是说,在进入自刷新模式后以及在退出自刷新模式后,可由系统300或由主机装置内的刷新处置器执行带ECC刷新指示335。
在一些实例中,ECC巡逻块310可响应于刷新计数器305重置(即,重置为零)或以其它方式达到某一阈值而递增计数器315的值。如果连续地对存储器阵列303的每一行执行具有ECC的刷新(例如如果p为零),那么以这种方式重置刷新计数器可使得计数器315在对最终行的最末(例如结尾)部分执行错误校正操作后重置。也就是说,如果计数器315的值对应于行的最末(例如结尾)部分且刷新计数器305接着重置,那么计数器315可重置,且其中p为零,这可意指最近已对最终行的最末部分执行具有ECC的刷新。
然而,如果在连续带ECC刷新操作之间执行某一数量的常规刷新操作(例如p具有非零值),那么响应于刷新计数器305重置(即,设定成零)或以其它方式达到某一阈值而递增计数器315可使得计数器315在对任一行的最末(例如结尾)部分执行错误校正操作后重置。举例来说,如果在连续带ECC刷新操作之间执行两次常规刷新操作,可对最终行之前的两个行中的一个的结尾部分执行带ECC刷新操作,那么刷新计数器305可基于对应于最终行的常规刷新操作重置,且因此可对存储器阵列303的第一或第二行的第一部分执行下一带ECC刷新操作。
在一些实例中,计数器315可响应于对存储器阵列303的所有行的特定部分(例如对应于特定部分索引)执行带ECC刷新而递增(例如在已对存储器阵列的每一行的第一部分执行带ECC刷新后,计数器315可递增,且接着在已对存储器阵列的每一行的第二部分执行带ECC刷新后,计数器315可再次递增,以此类推)。举例来说,如果计数器315响应于错误校正计数器316重置而递增,那么直到已对存储器阵列303的所有行上的特定部分(例如一组列)执行带ECC刷新为止,计数器315可能不递增。如果p的值为零,那么这可使得在每一连续部分内的存储器阵列303的所有行上连续执行带ECC刷新。然而,如果p的值为非零,那么这可使得以不连续方式在给定部分内的存储器阵列303的行上执行带ECC刷新(例如经刷新的行可基于刷新计数器305的独立递增而变化,但计数器315的值(且因此经历带ECC刷新的部分)在错误校正计数器316重置之前可能不改变)。
通过如本文中所描述递增刷新计数器305和计数器315(以及错误校正计数器316,如果存在)的值,ECC块275-a可随时间推移对存储器阵列303的每一行的每一部分执行错误校正。
图4说明根据如本文中所公开的实例的支持存储器错误校正技术的过程流程400的实例。过程流程400可由存储器系统的组件执行,所述组件例如控制器(例如,如参考图3所描述的存储器控制器301),其可包含ECC巡逻块(例如ECC巡逻块310)。另外或替代地,过程流程400的各方面可实施为存储在存储器中的指令(例如存储在与参考图1所描述的装置存储器控制器155或本地存储器控制器165耦合的存储器中的固件)。举例来说,如果指令由控制器(例如装置存储器控制器155或本地控制器165)执行,那么所述指令可使得控制器执行过程流程400的操作。在过程流程400的以下描述中,可以与所展示的次序不同的次序执行操作。举例来说,也可从过程流程400中省略特定操作,或可将其它操作添加到过程流程400中。
在405处,可识别刷新操作。举例来说,存储器控制器可从主机装置接收外部刷新命令以刷新存储器阵列行。另外或替代地,存储器控制器可在自刷新模式中操作,且存储器控制器可配置成发出用于存储器阵列的刷新指示。
在一些情况下,作为识别刷新操作的一部分,存储器系统可识别带ECC刷新操作。举例来说,可基于从主机装置接收到的带ECC刷新命令或基于存储器控制器处的模式寄存器来发出带ECC刷新指示。在一些实例中,可基于周期性发出带ECC刷新指示,如参考图3所描述。因此,在410处,可确定在405处识别的刷新操作是否为带ECC刷新操作。举例来说,存储器控制器可确定刷新操作是否与刷新命令或从主机装置接收到的带ECC刷新命令相关联。
在一些情况下,可确定刷新操作为带ECC刷新操作。在这类情况下,在415处刷新计数器(例如,如参考图3所描述的刷新计数器305)可递增。举例来说,响应于在405处识别刷新操作,存储器控制器可递增刷新计数器的值以指示待刷新的存储器阵列行,如参考图3所描述。
在420处,可确定是否重置刷新计数器。举例来说,刷新计数器的值可超过存储器阵列行的数量,指示在405处识别的刷新操作对应于第一存储器阵列行(即,前一刷新操作可能已刷新存储器阵列的最末行)。因此,通过比较刷新计数器的值与阈值,例如存储器装置的行的数量,可在425处重置刷新计数器的值。也就是说,响应于确定刷新计数器超过阈值,存储器控制器可重置刷新计数器。
任选地,在430处,可确定是否重置ECC巡逻块处的错误校正计数器(例如,如参考图3所描述的ECC巡逻块310的错误校正计数器316)。举例来说,如果错误校正计数器超过阈值,例如存储器阵列中的行的数量,那么在435处,ECC巡逻块可重置(即,设定成零)错误校正计数器。
在440处,地址计数器(例如,如参考图3所描述的ECC巡逻块310的计数器315)可递增。举例来说,存储器控制器可响应于刷新计数器在425处重置而递增地址计数器。地址计数器可识别存储器单元行的一部分,例如,如图3参考所描述。
在445处,可存取行。举例来说,存储器控制器可存取由存储器控制器的刷新计数器的值指示的行。使用地址计数器和(在一些情况下)错误校正计数器的值,存储器控制器可将指示发出到其上执行错误校正操作的存取行的一部分的ECC块(例如,如参考图3所描述的ECC块275-a)。
在450处,可对在445处存取的行的一部分执行ECC。举例来说,ECC块275-a可对由刷新计数器和地址计数器指示的行的部分执行错误校正,例如SEC操作。错误校正可包含产生用于行的部分的一或多个奇偶校验位,且比较所述奇偶校验位与对应于先前已存储的行的部分的奇偶校验位。也就是说,ECC块可结合刷新操作针对数据错误检查行的第一部分,且避免结合刷新操作针对数据错误检查行的第二部分。
另外或替代地,可在410处确定刷新操作不是带ECC刷新操作。在这类情况下,在455处,可存取行。举例来说,存储器控制器可存取由存储器控制器的刷新计数器的值指示的行,且写回行的数据(例如作为460处的刷新操作的一部分)。
在460处,可刷新行。举例来说,存储器控制器可通过在存取行之后写回行的数据来刷新由刷新计数器指示的存储器阵列行。在一些情况下(即,如果已执行错误校正),写回数据可包含写回作为450处的错误校正程序的一部分而已校正的数据。
过程流程400的各方面可由控制器以及其它组件实施。另外或替代地,过程流程400的各方面可实施为存储在存储器中的指令(例如存储在与存储器系统耦合的存储器中的固件)。举例来说,由控制器(例如外部存储器控制器120、装置存储器控制器155、本地存储器控制器260或其组合)执行的指令可使得控制器执行过程流程400的操作。
图5展示根据如本文中所公开的实例的支持存储器错误校正技术的存储器装置520的框图500。存储器装置520可以是如参考图1到4所描述的存储器装置的各方面的实例。存储器装置520或其各种组件可以是用于执行如本文中所描述的存储器错误校正技术的各个方面的构件的实例。举例来说,存储器装置520可包含命令管理器525、行存取组件530、错误校正管理器535、计数器管理器540、周期管理器545、地址管理器550或其任何组合。这些组件中的每一个可直接或间接地(例如经由一或多个总线)彼此通信。
命令管理器525可配置为或以其它方式支持用于在存储器系统处识别用于存储器阵列内的存储器单元行的刷新操作的构件。行存取组件530可配置为或以其它方式支持用于响应于识别刷新操作而存取存储器阵列内的存储器单元行的构件。错误校正管理器535可配置为或以其它方式支持用于至少部分地基于响应于识别刷新操作而存取行来确定所述行是否包含数据错误的构件。在一些实例中,错误校正管理器535可配置为或以其它方式支持用于至少部分地基于确定行包含数据错误而使用错误校正程序校正数据错误的构件。
在一些实例中,计数器管理器540可配置为或以其它方式支持用于响应于识别刷新操作而递增刷新计数器的值的构件,其中存取存储器单元行是至少部分地基于刷新计数器的值。
在一些实例中,刷新计数器配置成至少部分地基于刷新计数器的值满足阈值而重置为初始值,且计数器管理器540可配置为或以其它方式支持用于至少部分地基于刷新计数器的值重置为初始值而递增地址计数器的值的构件。在一些实例中,刷新计数器配置成至少部分地基于刷新计数器的值满足阈值而重置为初始值,且地址管理器550可配置为或以其它方式支持用于至少部分地基于地址计数器的值而存取行中的数据的至少一部分的构件,其中确定行是否包含数据错误包含至少部分地基于存取数据的至少部分而确定行中的数据的至少部分是否包含数据错误。
在一些实例中,计数器管理器540可配置为或以其它方式支持用于响应于识别刷新操作而递增错误校正计数器的值的构件,其中错误校正计数器配置成至少部分地基于错误校正计数器的值满足阈值而重置为初始值。在一些实例中,计数器管理器540可配置为或以其它方式支持用于至少部分地基于错误校正计数器的值重置为初始值而递增地址计数器的值的构件。在一些实例中,行存取组件530可配置为或以其它方式支持用于至少部分地基于地址计数器的值而存取行中的数据的至少一部分的构件,其中确定行是否包含数据错误包含至少部分地基于存取数据的至少部分而确定行中的数据的至少部分是否包含数据错误。
在一些实例中,命令管理器525可配置为或以其它方式支持用于接收第一刷新命令的构件,其中识别刷新操作是至少部分地基于接收第一刷新命令。在一些实例中,命令管理器525可配置为或以其它方式支持用于将第一刷新命令识别为第一类型的刷新命令的构件,其中确定行是否包含数据错误是响应于将第一刷新命令识别为所述第一类型的刷新命令。
在一些实例中,命令管理器525可配置为或以其它方式支持用于接收第二刷新命令的构件。在一些实例中,命令管理器525可配置为或以其它方式支持用于将第二刷新命令识别为不同于第一类型的刷新命令的第二类型的刷新命令的构件。在一些实例中,错误校正管理器535可配置为或以其它方式支持用于至少部分地基于将第二刷新命令识别为第二类型的刷新命令而避免响应于第二刷新命令执行第二错误检测程序的构件。
在一些实例中,周期管理器545可配置为或以其它方式支持用于识别与结合刷新操作检查数据错误相关联的周期性的构件,所述周期性对应于具有错误检测的刷新操作之间的无错误检测的中间刷新操作的数量,其中确定行是否包含数据错误是至少部分地基于所述周期性。
在一些实例中,周期管理器545可配置为或以其它方式支持用于至少部分地基于存储在存储器装置处的值而识别周期性的构件。
在一些实例中,错误校正管理器535可配置为或以其它方式支持用于至少部分地基于刷新操作为自刷新操作集中的初始刷新操作、自刷新操作集中的最终刷新操作、命令刷新操作集中的初始刷新操作或命令刷新操作集中的最终刷新操作而响应于识别刷新操作来确定行是否包含数据错误的构件。
在一些实例中,地址管理器550可配置为或以其它方式支持用于至少部分地基于地址计数器的值而确定与行中的数据的一部分相关联的地址的构件,其中存取存储器单元行包含存取数据的部分。在一些实例中,错误校正管理器535可配置为或以其它方式支持用于至少部分地基于存取数据的部分而产生用于数据的部分的一或多个奇偶校验位的构件。在一些实例中,错误校正管理器535可配置为或以其它方式支持用于比较用于数据的部分的一或多个所产生奇偶校验位与先前针对数据的部分存储的一或多个奇偶校验位的构件,其中确定行是否包含数据错误是至少部分地基于所述比较。
在一些实例中,行存取组件530可配置为或以其它方式支持用于刷新存储器单元行作为刷新操作的一部分的构件,其中进一步包含确定行是否包含数据错误。在一些实例中,错误校正管理器535可配置为或以其它方式支持用于结合刷新操作针对数据错误检查行的第一部分的构件。在一些实例中,错误校正管理器535可配置为或以其它方式支持用于避免结合刷新操作针对数据错误检查行的第二部分的构件。
在一些实例中,行存取组件530可配置为或以其它方式支持用于至少部分地基于存储在存储器装置处的值而识别行的第一部分的大小的构件。
在一些实例中,为支持确定行是否包含数据错误,错误校正管理器535可配置为或以其它方式支持用于针对存储在行中的数据的至少一部分执行单错校正(SEC)程序的构件。
图6展示说明根据如本文中所公开的实例的支持存储器错误校正技术的方法600的流程图。方法600的操作可由如本文中所描述的存储器装置或其组件来实施。举例来说,可由如参考图1到5所描述的存储器装置来执行方法600的操作。在一些实例中,存储器装置可执行指令集以控制装置的功能元件来执行所描述功能。另外或替代地,存储器装置可使用专用硬件执行所描述功能的各方面。
在605处,方法可包含在存储器系统处识别用于存储器阵列内的存储器单元行的刷新操作。可根据如本文中所公开的实例执行605的操作。在一些实例中,605的操作的各方面可由如参考图5所描述的命令管理器525执行。
在610处,方法可包含响应于识别刷新操作而存取存储器阵列内的存储器单元行。可根据如本文中所公开的实例执行610的操作。在一些实例中,610的操作的各方面可由如参考图5所描述的行存取组件530执行。
在615处,方法可包含至少部分地基于响应于识别刷新操作而存取行来确定所述行是否包含数据错误。可根据如本文中所公开的实例执行615的操作。在一些实例中,615的操作的各方面可由如参考图5所描述的错误校正管理器535执行。
在620处,方法可包含至少部分地基于确定行包含数据错误而使用错误校正程序校正数据错误。可根据如本文中所公开的实例执行620的操作。在一些实例中,620的操作的各方面可由如参考图5所描述的错误校正管理器535执行。
在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法600。所述设备可包含用于以下的特征、电路、逻辑、构件或指令(例如存储可由处理器执行的指令的非暂时性计算机可读媒体):在存储器系统处识别用于存储器阵列内的存储器单元行的刷新操作;响应于识别刷新操作而存取存储器阵列内的存储器单元行;至少部分地基于响应于识别刷新操作而存取行来确定所述行是否包含数据错误;以及至少部分地基于确定行包含数据错误而使用错误校正程序校正数据错误。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:响应于识别刷新操作而递增刷新计数器的值,其中存取存储器单元行可至少部分地基于刷新计数器的值。
在本文中所描述的方法600和设备的一些实例中,刷新计数器可配置成至少部分地基于刷新计数器的值满足阈值而重置为初始值,且方法、设备和非暂时性计算机可读媒体可包含用于以下的其它操作、特征、电路、逻辑、构件或指令:至少部分地基于刷新计数器的值重置为初始值而递增地址计数器的值;以及至少部分地基于地址计数器的值而存取行中的数据的至少一部分,其中确定行是否包含数据错误包含至少部分地基于存取数据的至少部分而确定行中的数据的至少部分是否包含数据错误。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:响应于识别刷新操作而递增错误校正计数器的值,其中错误校正计数器可配置成至少部分地基于错误校正计数器的值满足阈值而重置为初始值;至少部分地基于错误校正计数器的值重置为初始值而递增地址计数器的值;以及至少部分地基于地址计数器的值而存取行中的数据的至少一部分,其中确定行是否包含数据错误包含至少部分地基于存取数据的至少部分而确定行中的数据的至少部分是否包含数据错误。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:接收第一刷新命令,其中识别刷新操作可至少部分地基于接收第一刷新命令;以及将第一刷新命令识别为第一类型的刷新命令,其中确定行是否包含数据错误可响应于将第一刷新命令识别为第一类型的刷新命令。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:接收第二刷新命令;将第二刷新命令识别为不同于第一类型的刷新命令的第二类型的刷新命令;以及至少部分地基于将第二刷新命令识别为第二类型的刷新命令而避免响应于第二刷新命令执行第二错误检测程序。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:识别与结合刷新操作检查数据错误相关联的周期性,所述周期性对应于具有错误检测的刷新操作之间的无错误检测的中间刷新操作的数量,其中确定行是否包含数据错误是至少部分地基于所述周期性。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:至少部分地基于存储在存储器装置处的值而识别周期性。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:至少部分地基于刷新操作为自刷新操作集中的初始刷新操作、自刷新操作集中的最终刷新操作、命令刷新操作集中的初始刷新操作或命令刷新操作集中的最终刷新操作而响应于识别刷新操作来确定行是否包含数据错误。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:至少部分地基于地址计数器的值而确定与行中的数据的一部分相关联的地址,其中存取存储器单元行包含存取数据的部分;至少部分地基于存取数据的部分而产生用于数据的部分的一或多个奇偶校验位;以及比较用于数据的部分的一或多个所产生奇偶校验位与先前针对数据的部分存储的一或多个奇偶校验位,其中确定行是否包含数据错误可至少部分地基于所述比较。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:刷新存储器单元行作为刷新操作的一部分,其中确定行是否包含数据错误包含结合刷新操作针对数据错误检查行的第一部分,以及避免结合刷新操作针对数据错误检查行的第二部分。
本文中所描述的方法600和设备的一些实例可进一步包含用于以下的操作、特征、电路、逻辑、构件或指令:至少部分地基于存储在存储器装置处的值而识别行的第一部分的大小。
在本文中所描述的方法600和设备的一些实例中,用于确定行是否包含数据错误的操作、特征、电路、逻辑、构件或指令可包含用于针对存储在行中的数据的至少一部分执行SEC程序的操作、特征、电路、逻辑、构件或指令。
在本文中所描述的方法600和设备的一些实例中,用于确定行是否包含数据错误的操作、特征、电路、逻辑、构件或指令可包含用于针对存储在行中的数据的至少一部分执行单错校正(SEC)程序的操作、特征、电路、逻辑、构件或指令。
应注意,本文中所描述的方法描述可能的实施方案,且操作和步骤可以重新布置或以其它方式加以修改,且其它实施方案是可能的。此外,可组合来自所述方法中的两种或更多种的部分。
可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息及信号。举例来说,可用电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明为单个信号;然而,所述信号可表示信号总线,其中所述总线可具有各种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可指支持信号在组件之间流动的组件之间的关系。如果组件之间存在可以在任何时间支持信号在组件之间流动的任何导电路径,那么认为组件彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于(例如响应于)包含所连接组件的装置的操作,彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含例如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可以例如使用例如开关或晶体管的一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的情况,在所述开路关系中,信号当前无法通过导电路径在所述组件之间传送,在所述闭路关系中,信号能够通过所述导电路径在所述组件之间传送。当例如控制器的组件将其它组件耦合在一起时,组件发起允许信号通过先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,那么所述组件彼此隔离。举例来说,由定位在两个组件之间的开关分隔开的所述组件在开关断开时彼此隔离。当控制器隔离两个组件时,所述控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
包含存储器阵列的本文中所论述的装置可形成在例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可以是绝缘体上硅(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)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也包含在计算机可读媒体的范围内。
提供本文中的描述以使所属领域的技术人员能够制造或使用本公开。所属领域的技术人员将显而易见对本公开的各种修改,且本文中所定义的一般原理可应用于其它变体而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文中所公开的原理和新颖特征一致的最宽范围。
Claims (25)
1.一种设备,其包括:
存储器装置;及
控制器,其用于所述存储器装置且配置成使得所述设备:
在所述存储器装置处识别用于存储器阵列内的存储器单元行的刷新操作;
响应于识别所述刷新操作而存取所述存储器阵列内的所述存储器单元行;
至少部分地基于响应于识别所述刷新操作而存取所述行来确定所述行是否包含数据错误;以及
至少部分地基于确定所述行包含所述数据错误而使用错误校正程序校正所述数据错误。
2.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备:
响应于识别所述刷新操作而递增刷新计数器的值,其中存取所述存储器单元行是至少部分地基于所述刷新计数器的所述值。
3.根据权利要求2所述的设备,其中:
所述刷新计数器配置成至少部分地基于所述刷新计数器的所述值满足阈值而重置为初始值;且
所述控制器进一步配置成使得所述设备:
至少部分地基于所述刷新计数器的所述值重置为所述初始值而递增地址计数器的值;以及
至少部分地基于所述地址计数器的所述值而存取所述行中的数据的至少一部分,其中确定所述行是否包含所述数据错误包括至少部分地基于存取数据的至少所述部分而确定所述行中的数据的至少所述部分是否包含所述数据错误。
4.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备:
响应于识别所述刷新操作而递增错误校正计数器的值,其中所述错误校正计数器配置成至少部分地基于所述错误校正计数器的所述值满足阈值而重置为初始值;
至少部分地基于所述错误校正计数器的所述值重置为所述初始值而递增地址计数器的值;以及
至少部分地基于所述地址计数器的所述值而存取所述行中的数据的至少一部分,其中确定所述行是否包含所述数据错误包括至少部分地基于存取数据的至少所述部分而确定所述行中的数据的至少所述部分是否包含所述数据错误。
5.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备:
接收第一刷新命令,其中识别所述刷新操作是至少部分地基于接收所述第一刷新命令;以及
将所述第一刷新命令识别为第一类型的刷新命令,其中确定所述行是否包含所述数据错误是响应于将所述第一刷新命令识别为所述第一类型的刷新命令。
6.根据权利要求5所述的设备,其中所述控制器进一步配置成使得所述设备:
接收第二刷新命令;
将所述第二刷新命令识别为不同于所述第一类型的刷新命令的第二类型的刷新命令;以及
至少部分地基于将所述第二刷新命令识别为所述第二类型的刷新命令而避免响应于所述第二刷新命令执行第二错误检测程序。
7.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备:
识别与结合刷新操作检查数据错误相关联的周期性,所述周期性对应于具有错误检测的刷新操作之间的无错误检测的中间刷新操作的数量,其中所述控制器配置成使得所述设备至少部分地基于所述周期性而确定所述行是否包含所述数据错误。
8.根据权利要求7所述的设备,其中所述控制器进一步配置成使得所述设备:
至少部分地基于存储在所述存储器装置处的值而识别所述周期性。
9.根据权利要求7所述的设备,其中所述控制器配置成使得所述设备:
至少部分地基于所述刷新操作为自刷新操作集中的初始刷新操作、所述自刷新操作集中的最终刷新操作、命令刷新操作集中的初始刷新操作或所述命令刷新操作集中的最终刷新操作而响应于识别所述刷新操作来确定所述行是否包含所述数据错误。
10.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备:
至少部分地基于地址计数器的值而确定与所述行中的数据的一部分相关联的地址,其中存取所述存储器单元行包括存取数据的所述部分;
至少部分地基于存取数据的所述部分而产生用于数据的所述部分的一或多个奇偶校验位;以及
比较用于数据的所述部分的所述一或多个所产生奇偶校验位与先前针对数据的所述部分存储的一或多个奇偶校验位,其中确定所述行是否包含所述数据错误是至少部分地基于所述比较。
11.根据权利要求1所述的设备,其中所述控制器进一步配置成使得所述设备:
刷新所述存储器单元行作为所述刷新操作的一部分,其中为确定所述行是否包含所述数据错误,所述控制器配置成使得所述设备:
结合所述刷新操作针对数据错误检查所述行的第一部分;以及
避免结合所述刷新操作针对数据错误检查所述行的第二部分。
12.根据权利要求11所述的设备,其中所述控制器进一步配置成使得所述设备:
至少部分地基于存储在所述存储器装置处的值而识别所述行的所述第一部分的大小。
13.根据权利要求1所述的设备,其中为确定所述行是否包含所述数据错误,所述控制器配置成使得所述设备:
针对存储在所述行中的数据的至少一部分执行单错校正SEC程序。
14.一种非暂时性计算机可读媒体,其存储包括指令的代码,所述指令在由电子装置的处理器执行时使得所述电子装置:
在所述电子装置处识别用于存储器阵列内的存储器单元行的刷新操作;
响应于识别所述刷新操作而存取所述存储器阵列内的所述存储器单元行;
至少部分地基于响应于识别所述刷新操作而存取所述行来确定所述行是否包含数据错误;以及
至少部分地基于确定所述行包含所述数据错误而使用错误校正程序校正所述数据错误。
15.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
响应于识别所述刷新操作而递增刷新计数器的值,其中存取所述存储器单元行是至少部分地基于所述刷新计数器的所述值,且其中所述刷新计数器配置成至少部分地基于所述刷新计数器的所述值满足阈值而重置为初始值;
至少部分地基于所述刷新计数器的所述值重置为所述初始值而递增地址计数器的值;以及
至少部分地基于所述地址计数器的所述值而存取所述行中的数据的至少一部分,其中确定所述行是否包含所述数据错误包括至少部分地基于存取数据的至少所述部分而确定所述行中的数据的至少所述部分是否包含所述数据错误。
16.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
响应于识别所述刷新操作而递增错误校正计数器的值,其中所述错误校正计数器配置成至少部分地基于所述错误校正计数器的所述值满足阈值而重置为初始值;
至少部分地基于所述错误校正计数器的所述值重置为所述初始值而递增地址计数器的值;以及
至少部分地基于所述地址计数器的所述值而存取所述行中的数据的至少一部分,其中确定所述行是否包含所述数据错误包括至少部分地基于存取数据的至少所述部分而确定所述行中的数据的至少所述部分是否包含所述数据错误。
17.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
接收第一刷新命令,其中识别所述刷新操作是至少部分地基于接收所述第一刷新命令;以及
将所述第一刷新命令识别为第一类型的刷新命令,其中确定所述行是否包含所述数据错误是响应于将所述第一刷新命令识别为所述第一类型的刷新命令。
18.根据权利要求17所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
接收第二刷新命令;
将所述第二刷新命令识别为不同于所述第一类型的刷新命令的第二类型的刷新命令;以及
至少部分地基于将所述第二刷新命令识别为所述第二类型的刷新命令而避免响应于所述第二刷新命令执行第二错误校正程序。
19.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
识别与结合刷新操作检查数据错误相关联的周期性,所述周期性对应于具有错误检测的刷新操作之间的无错误检测的中间刷新操作的数量,其中所述指令配置成使得所述电子装置至少部分地基于所述周期性而确定所述行是否包含所述数据错误。
20.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
至少部分地基于地址计数器的值而确定与所述行中的数据的一部分相关联的地址,其中存取所述存储器单元行包括存取数据的所述部分;
至少部分地基于存取数据的所述部分而产生用于数据的所述部分的一或多个奇偶校验位;以及
比较用于数据的所述部分的所述一或多个所产生奇偶校验位与先前针对数据的所述部分存储的一或多个奇偶校验位,其中确定所述行是否包含所述数据错误是至少部分地基于所述比较。
21.根据权利要求14所述的非暂时性计算机可读媒体,其中所述指令在由所述电子装置的所述处理器执行时进一步使得所述电子装置:
刷新所述存储器单元行作为所述刷新操作的一部分,其中为确定所述行是否包含所述数据错误,所述指令在由所述电子装置的所述处理器执行时使得所述电子装置:
结合所述刷新操作针对数据错误检查所述行的第一部分;以及
避免结合所述刷新操作针对数据错误检查所述行的第二部分。
22.一种方法,其包括:
在存储器系统处识别用于存储器阵列内的存储器单元行的刷新操作;
响应于识别所述刷新操作而存取所述存储器阵列内的所述存储器单元行;
至少部分地基于响应于识别所述刷新操作而存取所述行来确定所述行是否包含数据错误;以及
至少部分地基于确定所述行包含所述数据错误而使用错误校正程序校正所述数据错误。
23.根据权利要求22所述的方法,其进一步包括:
响应于识别所述刷新操作而递增刷新计数器的值,其中存取所述存储器单元行是至少部分地基于所述刷新计数器的所述值,且其中所述刷新计数器配置成至少部分地基于所述刷新计数器的所述值满足阈值而重置为初始值;
至少部分地基于所述刷新计数器的所述值重置为所述初始值而递增地址计数器的值;以及
至少部分地基于所述地址计数器的所述值而存取所述行中的数据的至少一部分,其中确定所述行是否包含所述数据错误包括至少部分地基于存取数据的至少所述部分而确定所述行中的数据的至少所述部分是否包含所述数据错误。
24.根据权利要求22所述的方法,其进一步包括:
响应于识别所述刷新操作而递增错误校正计数器的值,其中所述错误校正计数器配置成至少部分地基于所述错误校正计数器的所述值满足阈值而重置为初始值;
至少部分地基于所述错误校正计数器的所述值重置为所述初始值而递增地址计数器的值;以及
至少部分地基于所述地址计数器的所述值而存取所述行中的数据的至少一部分,其中确定所述行是否包含所述数据错误包括至少部分地基于存取数据的所述部分而确定所述行中的数据的至少所述部分是否包含所述数据错误。
25.根据权利要求22所述的方法,其进一步包括:
接收第一刷新命令,其中识别所述刷新操作是至少部分地基于接收所述第一刷新命令;
将所述第一刷新命令识别为第一类型的刷新命令,其中确定所述行是否包含所述数据错误是响应于将所述第一刷新命令识别为所述第一类型的刷新命令;
接收第二刷新命令;
将所述第二刷新命令识别为不同于所述第一类型的刷新命令的第二类型的刷新命令;以及
至少部分地基于将所述第二刷新命令识别为所述第二类型的刷新命令而避免响应于所述第二刷新命令执行第二错误检测程序。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163228816P | 2021-08-03 | 2021-08-03 | |
US63/228,816 | 2021-08-03 | ||
US17/877,210 | 2022-07-29 | ||
US17/877,210 US20230043306A1 (en) | 2021-08-03 | 2022-07-29 | Techniques for memory error correction |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115910185A true CN115910185A (zh) | 2023-04-04 |
Family
ID=85152839
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210926398.6A Pending CN115910185A (zh) | 2021-08-03 | 2022-08-03 | 存储器错误校正技术 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230043306A1 (zh) |
CN (1) | CN115910185A (zh) |
-
2022
- 2022-07-29 US US17/877,210 patent/US20230043306A1/en active Pending
- 2022-08-03 CN CN202210926398.6A patent/CN115910185A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230043306A1 (en) | 2023-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11436082B2 (en) | Internal error correction for memory devices | |
US20230125544A1 (en) | Repair operation techniques | |
CN114930309A (zh) | 用于存储器装置的中断信令 | |
CN113903377A (zh) | 用于设置读取操作的参考电压的方法 | |
US20230231574A1 (en) | Syndrome check functionality to differentiate between error types | |
US11775385B2 (en) | Targeted command/address parity low lift | |
US20230043306A1 (en) | Techniques for memory error correction | |
US20230039002A1 (en) | Techniques for memory error correction | |
CN114730593A (zh) | 存储器系统中的刷新计数器 | |
CN114078559A (zh) | 用于存储器装置的自适应奇偶校验技术 | |
US11960360B1 (en) | Redundancy-based error detection in a memory device | |
CN114168069B (zh) | 具有增强的数据可靠性能力的存储器装置 | |
US20240053908A1 (en) | Temperature-dependent refresh operations | |
US20240094921A1 (en) | Testing operations for memory systems | |
US20230197180A1 (en) | Address fault detection | |
US11960398B2 (en) | Enhanced data reliability in multi-level memory cells | |
US11726863B2 (en) | Memory data correction using multiple error control operations | |
US20240004756A1 (en) | Data correction scheme with reduced device overhead | |
US20230367709A1 (en) | Write command timing enhancement | |
US11782608B1 (en) | Error information signaling for memory | |
US20240028247A1 (en) | Efficient error signaling by memory | |
US20230343409A1 (en) | Indicating a blocked repair operation | |
CN114902188A (zh) | 存储器装置的地址验证 | |
CN116361041A (zh) | 错误检测信令 | |
CN116893990A (zh) | 用于确定接口连接状态的技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |