CN117743021A - 存储器装置中的基于冗余的错误检测 - Google Patents

存储器装置中的基于冗余的错误检测 Download PDF

Info

Publication number
CN117743021A
CN117743021A CN202311226297.9A CN202311226297A CN117743021A CN 117743021 A CN117743021 A CN 117743021A CN 202311226297 A CN202311226297 A CN 202311226297A CN 117743021 A CN117743021 A CN 117743021A
Authority
CN
China
Prior art keywords
codeword
bits
error
memory
data
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
Application number
CN202311226297.9A
Other languages
English (en)
Inventor
S·E·谢弗
A·P·贝姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN117743021A publication Critical patent/CN117743021A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (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

本申请案涉及存储器装置中的基于冗余的错误检测。一种存储器装置可从存储器读取码字的多个副本,且为每一码字副本产生指示所述存储器装置是否在所述码字中检测到错误的错误检测位。另外,所述存储器装置可比较所述码字副本且产生指示所述码字的对应部分是否匹配的一或多个匹配位。使用所述错误检测位与所述匹配位的组合,所述存储器装置能够确定每一码字的错误状态。

Description

存储器装置中的基于冗余的错误检测
交叉参考
本专利申请案主张由沙佛(SCHAEFER)等人在2022年9月22日申请的标题为“存储器装置中的基于冗余的错误检测(REDUNDANCY-BASED ERROR DETECTION IN AMEMORYDEVICE)”的第17/934,452号美国专利申请案的优先权,所述申请案被指派给其受让人,且所述申请案以引用的方式明确并入本文中。
技术领域
技术领域涉及存储器装置中的基于冗余的错误检测。
背景技术
存储器装置广泛用于将信息存储于各种电子装置(例如计算机、用户装置、无线通信装置、照相机、数字显示器及类似者)中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。例如,二进制存储器单元可被编程为两个支持的状态中的一者,通常由逻辑1或逻辑0表示。在一些实例中,单个存储器单元可支持两个以上状态,可存储其中的任一者。为了存取所存储信息,组件可读取(例如,感测、检测、检索、识别、确定、评估)存储器装置中的所存储状态。为了存储信息,组件可在存储器装置中写入(例如,编程、设置、指派)状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、自选择存储器、硫属化物存储器技术,“或非”(NOR)及“与非”(NAND)存储器装置及其它。可根据易失性配置或非易失性配置来描述存储单元。即使在不存在外部电力源的情况下,以非易失性配置进行配置的存储单元也可在扩展时间段内维持所存储逻辑状态。以易失性配置进行配置的存储单元在与外部电力源断开连接时可能丢失所存储状态。
发明内容
描述一种方法。所述方法可包含:从存储器读取包括代表一组数据的第一组数据位的第一码字及包括代表所述一组数据的第二组数据位的第二码字;至少部分基于从存储器读取所述第一码字来产生错误检测位,所述错误检测位指示是否已在所述第一码字中检测到错误;至少部分基于从存储器读取所述第一码字及所述第二码字来产生匹配位,所述匹配位指示所述第一码字的一部分是否与所述第二码字的对应部分匹配;以及至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
描述一种方法。所述方法可包含:传输用于与第一码字及第二码字相关联的一组数据的读取命令,其中所述第一码字包括代表所述一组数据的第一组数据位,且其中所述第二码字包括代表所述一组数据的第二组数据位;至少部分基于传输所述读取命令来确定指示所述第一码字的一部分是否与所述第二码字的对应部分匹配的匹配位,及指示存储器装置是否在所述第一码字中检测到错误的错误检测位;以及至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
描述一种设备。所述设备可包含:存储器;及控制器,其与所述存储器耦合且经配置以致使所述设备:从所述存储器读取包括代表一组数据的第一组数据位的第一码字及包括代表所述一组数据的第二组数据位的第二码字;至少部分基于从存储器读取所述第一码字来产生错误检测位,所述错误检测位指示是否已在所述第一码字中检测到错误;至少部分基于从存储器读取所述第一码字及所述第二码字来产生匹配位,所述匹配位指示所述第一码字的一部分是否与所述第二码字的对应部分匹配;以及至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
附图说明
图1说明根据如本文公开的实例的支持基于冗余的错误检测的系统的实例。
图2说明根据如本文公开的实例的支持基于冗余的错误检测的存储器裸片的实例。
图3说明根据如本文公开的实例的支持基于冗余的错误检测的存储器装置的实例。
图4说明根据如本文公开的实例的支持存储器装置中的基于冗余的错误检测的过程流程的实例。
图5说明根据如本文公开的实例的支持基于冗余的错误检测的存储器装置的实例。
图6说明根据如本文公开的实例的支持存储器装置中的基于冗余的错误检测的过程流程的实例。
图7展示根据如本文公开的实例的支持基于冗余的错误检测的存储器装置的框图。
图8展示根据如本文公开的实例的支持基于冗余的错误检测的主机装置的框图。
图9及10展示说明根据如本文所公开的实例的支持存储器装置中的基于冗余的错误检测的方法的流程图。
具体实施方式
存储器装置可使用装置上错误校正技术(例如,错误校正码(ECC))来检测且潜在地校正存储在存储器装置中的码字中的错误。但是,例如ECC的装置上错误校正技术可能不支持错误分类(例如,用以定义码字中有哪些类型的错误)。此外,例如ECC的装置上错误校正技术可能(例如,由于开销原因)被限于检测每码字的阈值错误数量(其可称为ECC能力以及其它术语),这意味着例如ECC的装置上错误校正技术可能无法检测到超过阈值数量的错误。在某些高可靠性应用中(例如,在汽车安全中),可能需要用于确定码字的错误状态的技术,所述码字包含具有超过每码字的阈值错误数量(例如,ECC能力)的错误的码字。
根据本文所描述的技术,存储器装置可通过存储码字的冗余副本且产生码字的错误信息位来确定码字(包含具有超过ECC能力的错误的码字)的错误状态。例如,存储器装置可针对每一码字副本产生错误检测位,所述错误检测位指示存储器装置是否检测到所述码字中的一或多个错误。另外,存储器装置可比较码字的冗余副本,且产生A)指示码字的数据位是否匹配的数据匹配位或B)指示码字的奇偶校验位是否匹配的奇偶校验匹配位中的一或多者。使用错误信息位(例如,错误检测位或匹配位或两者),存储器装置可确定每一码字的错误状态,其可以某种形式提供到主机装置,使得主机装置可发起适当动作。
首先在如参考图1及2描述的系统及裸片的上下文中描述本公开的特征。首先,在如参考图3到6描述的存储器系统及过程流程的上下文中描述本公开的特征。通过与参考图7到10描述的存储器装置中的基于冗余的错误检测相关的设备图及流程图来进一步说明且对其进行参考来描述本公开的这些及其它特征。
图1说明根据如本文公开的实例的支持基于冗余的错误检测的系统100的实例。系统100可包含主机装置105、存储器装置110以及将主机装置105与存储器装置110耦合的多个通道115。系统100可包含一或多个存储器装置110,但可在单个存储器装置(例如,存储器装置110)的上下文中描述一或多个存储器装置110的方面。
系统100可包含电子装置的部分,所述电子装置例如计算装置、移动计算装置、无线装置、图形处理装置、交通工具或其它系统。例如,系统100可说明计算机、膝上型计算机、平板计算机、智能手机、蜂窝电话、可穿戴装置、因特网连接装置、交通工具控制器或类似者的方面。存储器装置110可为系统100的组件,其可操作来存储用于系统100的一或多个其它组件的数据。
系统100的部分可为主机装置105的实例。主机装置105可为装置内的使用存储器来执行过程的处理器(例如,电路系统、处理电路系统、处理组件)的实例,例如在计算装置、移动计算装置、无线装置、图形处理装置、计算机、膝上型计算机、平板计算机、智能电话、蜂窝电话、可穿戴装置、因特网连接装置、交通工具控制器、芯片上系统(SoC)或一些其它固定或便携式电子装置等其它实例内。在一些实例中,主机装置105可指代实施外部存储器控制器120的功能的硬件、固件、软件或其任一组合。在一些实例中,外部存储器控制器120可被称为主机(例如,主机装置105)。
存储器装置110可为独立装置或组件,其可操作以提供可由系统100使用或引用的物理存储器地址/空间。在一些实例中,存储器装置110可经配置以与一或多种不同类型的主机装置一起工作。主机装置105与存储器装置110之间的信令可操作以支持以下中的一或多者:用以调制信号的调制方案、用于传达信号的各种引脚配置、用于主机装置105及存储器装置110的物理封装的各种形式因数、主机装置105与存储器装置110之间的时钟信令及同步、时序约定或其它功能。
存储器装置110可操作以存储用于主机装置105的组件的数据。在一些实例中,存储器装置110(例如,作为主机装置105的辅助类型装置操作,作为主机装置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与存储器装置110之间携载信息的传输媒体的实例。每一通道115可包含与系统100的组件相关联的端子之间的一或多个信号路径(例如,传输媒体、导体)。信号路径可为可操作以携载信号的导电路径的实例。例如,通道115可与主机装置105处的第一端子(例如,包含一或多个引脚,包含一或多个垫)及存储器装置110处的第二端子相关联。端子可为系统100的装置的导电输入或输出点的实例,且端子可操作以充当通道的部分。
通道115(及相关联信号路径及端子)可专用于传达一或多种类型的信息。例如,通道115可包含一或多个命令及地址(CA)通道186、一或多个时钟信号(CK)通道188、一或多个数据(DQ)通道190、一或多个其它通道192或其任一组合。在一些实例中,可使用单数据速率(SDR)信令或双数据速率(DDR)信令通过通道115来传达信令。在SDR信令中,可针对每一时钟循环(例如,在时钟信号的上升或下降沿上)寄存信号的一个调制符号(例如,信号电平)。在DDR信令中,可针对每一时钟循环(例如,在时钟信号的上升沿及下降沿两者)寄存信号的两个调制符号(例如,信号电平)。
存储器装置可使用装置上错误校正技术来检测且潜在地校正存储在存储器装置中的信息中的错误。例如,存储器装置可使用装置上ECC来检测及校正在所存储码字中出现的单个位错误(SBE)。码字可指代数据位与基于数据位产生的奇偶校验位的组合。例如,码字中的每一奇偶校验位可通过根据错误校正码对数据位的子集进行“异或”(XOR)来产生。
随着存储器装置在大小上缩小,更多数量的存储器单元(其可具有用于存储电荷的较小区域)可具有保留挑战,这是因为除非频繁刷新存储器单元,否则由存储器单元存储的数据可能会受到损害。但是,应用频繁刷新操作以确保具有保留挑战的单元中的数据的完整性可能会不合意地增加存储器的功耗。为节省电力,存储器装置可较不频繁地应用刷新操作,且使用例如ECC的错误校正来检测及校正由具有保留挑战的存储器单元引起的错误。但是,将ECC用于具有保留挑战的存储器单元可能会妨碍存储器装置检测在存储器装置的操作期间出现的额外错误(例如,超过ECC能力的错误)。
为了实现错误(包含超过ECC能力的错误)的检测及分类,存储器装置110可产生且存储一组数据位的码字的多个副本。例如,存储器装置110可存储A)包含第一组奇偶校验位及一组数据位的第一副本的第一码字,及B)包含第二组奇偶校验位及所述一组数据位的第二副本的第二码字。在读取码字之后,存储器装置可基于码字来产生错误信息位。例如,存储器装置可产生指示存储器装置是否在码字中检测到错误的错误检测位。另外,存储器装置产生A)指示码字的数据位是否匹配的数据匹配位及B)指示码字的奇偶校验位是否匹配的奇偶校验匹配位中的一或多者。存储器装置接着可使用错误信息位来确定码字的错误状态。此技术可允许存储器装置在不增加ECC能力(其可与增加的开销相关联)的情况下检测超过ECC能力的错误并对所述错误进行分类,以及其它益处。
图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的地址。激活字线210或数字线215可包含向相应线施加电压。
可通过行解码器220或列解码器225或其任一组合来控制存取存储器单元205。例如,行解码器220可从本地存储器控制器260接收行地址且基于所接收行地址激活字线210。列解码器225可从本地存储器控制器260接收列地址并基于所接收列地址激活数字线215。
选择或取消选择存储器单元205可通过使用字线210激活或去激活切换组件235来实现。电容器230可使用切换组件235与数字线215耦合。例如,当取消激活切换组件235时,电容器230可与数字线215隔离,且当激活切换组件235时,电容器230可与数字线215耦合。
感测组件245可操作以检测存储在存储器单元205的电容器230上的状态(例如,电荷),并基于所存储状态确定存储器单元205的逻辑状态。感测组件245可包含一或多个读出放大器以放大或以其它方式转换源自存取存储器单元205的信号。感测组件245可将从存储器单元205检测到的信号与参考250(例如,参考电压)进行比较。存储器单元205的所检测逻辑状态可被提供为感测组件245的输出(例如,到输入/输出255),且可向包含存储器裸片200的存储器装置(例如,存储器装置110)的另一组件指示所检测逻辑状态。
本地存储器控制器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可操作以执行此处未列出的其它存取操作,或与存取存储器单元205不直接相关的与存储器裸片200的操作相关的其它操作。
本地存储器控制器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中的信息的可靠性,包含存储器裸片200的存储器装置可实施本文所描述的技术,其使得能够检测所存储信息中的错误(包含超过ECC能力的错误)。例如,存储器装置可存储用于一组数据位的第一副本的第一码字及用于所述一组数据位的第二副本的第二码字。存储码字的冗余副本可允许存储器装置在读取操作期间检测码字中的一者是否具有错误(例如,通过比较码字)。然而,在没有更多信息的情况下,存储器装置可能无法区分哪个码字具有错误。例如,存储器装置可确定一个码字(或存储器阵列的一个区段)具有错误,但可能无法识别哪个码字(或存储器阵列的区段)具有所述错误。尽管存储码字的第三副本(被称为三重冗余技术的技术)可允许存储器装置区分额外错误信息,存储码字的三个副本可能会增加存储开销及处理复杂性以及其它缺点。
根据本公开,存储器装置可通过实施也可被称为增强冗余技术的伪三重冗余技术来改进(相对于其它技术)存储器装置确定所存储信息的错误信息的能力。在伪三重冗余技术中,存储器装置可存储码字的两个副本,且使用所述两个副本来产生指示码字的错误状态的错误信息位(例如,错误检测位、数据匹配位、奇偶校验匹配位)。存储器装置可向主机装置提供错误信息位(或者错误状态自身),使得主机装置可采取适当动作。
图3说明根据如本文公开的实例的支持基于冗余的错误检测的存储器装置300的实例。存储器装置300可为如本文所描述的存储器装置的实例。存储器装置300可存储码字的冗余副本(例如,一或多个冗余副本),且使用码字来产生指示码字的错误状态的错误信息位。存储器装置300可经配置以并行地(例如,在至少部分重叠的时间)支持ECC解码及码字比较,这可相对于支持串行ECC解码及码字比较的存储器装置(例如,存储器装置500)减少过程的延时。存储器装置300的配置可被称为并行配置。
在高电平下,存储器装置300可在存储器阵列中存储码字的冗余副本。响应于读取命令,存储器装置300可读取码字且将码字输入ECC引擎315及比较引擎320中,使得存储器装置300可并行地(例如,在部分或全部重叠的时间)执行ECC解码及码字比较。ECC引擎315可产生错误检测位,且比较引擎320可产生匹配位(例如,数据匹配位、奇偶校验匹配位),其一起指示码字的错误状态。选择组件325可使用错误信息位来选择码字中的一者用于传达到主机装置。在一些实例中,选择组件325可为控制器或逻辑。
存储器装置300可包含存储器阵列305,其经配置以存储信息,例如码字。存储器阵列305可被划分为两个区段(例如,区段A及区段B),且可经配置以潜在地并发地(例如,在完全或部分重叠的时间)对所述区段执行相同存取操作。例如,存储器阵列305可经配置以将第一码字(例如,码字A)写入到部分310-a且将第二码字(例如,码字B)写入到部分310-b。第一码字可包含1)代表一组数据的第一副本的第一组数据位(数据A)及2)第一组奇偶校验位(奇偶校验A)。第二码字可包含1)代表所述一组数据的第二副本的第二组数据位(数据B)及2)第二组奇偶校验位(奇偶校验B)。同一组奇偶校验位(例如,基于数据A或数据B产生)可用于奇偶校验A及奇偶校验B。替代地,奇偶校验A与奇偶校验B可单独地产生(例如,奇偶校验A可基于数据A来产生,而奇偶校验B可基于数据B来产生)。
尽管参考单个存储器阵列来描述,但本文描述的伪三重冗余技术可使用多个存储器阵列来实施。例如,第一码字(码字A)可存储在第一存储器阵列中,且第二码字(码字B)可存储在第二存储器阵列中。用于存储码字的其它配置是可考虑的且在本公开的范围内。
ECC引擎315可经配置以对码字执行ECC解码,且基于ECC解码来产生错误检测位。例如,ECC引擎315可执行ECC解码以检测及校正码字中的错误(如果存在错误)。ECC引擎315还可产生错误检测位,所述错误检测位的值指示ECC引擎315是否检测到码字中错误。例如,具有值‘0’的错误检测位可指示ECC引擎315未检测到码字中的错误,而具有值‘1’的错误检测位可指示ECC引擎确实检测到码字中的错误。错误检测位也可被称为校验子校验位、错误校验位或其它合适术语。ECC引擎315可经配置以检测及校正单个位错误。校正码字中的错误可指在将码字传达到存储器装置的另一组件之前反转处于错误状态中的位(且可不涉及对存储器阵列305中的错误的校正)。
因此,ECC引擎315-a可对码字A执行ECC解码,且可基于ECC解码为码字A产生错误检测位A(ED_A)。类似地,ECC引擎315-b可对码字B执行ECC解码,且可基于ECC解码为码字B产生错误检测位B(ED_B)。错误检测位A及错误检测位B可被传达到选择组件325,使得选择组件325可使用错误检测位作为选择码字A及码字B中的一者用于返回到主机装置的基础。
在一些实例中,可基于码字的校验子位来产生码字的错误检测位。例如,码字的错误检测位可通过对码字的校验子位进行“或”来产生,所述校验子位可通过将每一所存储奇偶校验位与从码字的读取数据位产生的对应奇偶校验位进行“异或”来产生。例如,所存储奇偶校验位P0可与所产生奇偶校验位P0进行“异或”,所存储奇偶校验位P1可与所产生奇偶校验位P1进行“异或”,依此类推,以产生码字的校验子位。源自XOR运算的校验子位可进行“或”,使得所得错误检测位指示是否已在码字中检测到错误。
比较引擎320可经配置以比较从存储器阵列305接收的码字。例如,比较引擎320可经配置以比较码字A与码字B。比较码字A与码字B可指将数据A与数据B进行比较、将奇偶校验A与奇偶校验B进行比较,或两者。因此,比较引擎320可将码字A的一或多个部分与码字B的一或多个对应部分进行比较。比较码字可允许比较引擎320确定码字中的位之间是否存在不匹配。
比较引擎320可产生指示数据A与数据B之间是否存在不匹配的数据匹配位(M_Data),可产生指示奇偶校验A与奇偶校验B之间是否不匹配的奇偶校验匹配位(M_Parity),或两者。如果数据位中存在不匹配(例如,数据A与数据B之间的不匹配),那么比较引擎320可产生具有值‘1’的数据匹配位(M_Data)。如果数据位匹配(例如,如果数据A中的每一位具有与数据B中的对应位相同的值),那么比较引擎320可产生具有值‘0’的数据匹配位(M_Data)。如果奇偶校验位中存在不匹配(例如,奇偶校验A与奇偶校验B之间的不匹配),那么比较引擎320可产生具有值‘1’的奇偶校验位(M_Parity)。如果奇偶校验位匹配(例如,如果奇偶校验A中的每一位具有与奇偶校验B中的对应位相同的值),那么比较引擎320可产生具有值‘0’的奇偶校验匹配位(M_Parity)。数据匹配位、奇偶匹配位或两者可被传达到选择组件325,使得选择组件325可使用匹配位作为选择码字A及码字B中的一者用于返回到主机装置的基础。
在一些实例中,存储器装置300可对码字的部分之间的不匹配的数量进行计数。例如,存储器装置300可对数据A与数据B之间的不匹配(例如,具有相同位位置但不同值的数据位)的数量进行计数。额外地,或替代地,存储器装置300可对奇偶校验A与奇偶校验B之间的不匹配(例如,具有相同位位置但不同值的奇偶校验位)的数量进行计数。每码字的不匹配数量可用于提供对存储器阵列305的可靠性及功能性的额外洞察。
存储器装置300(例如,经由选择组件325)可使用错误信息位来确定码字的错误状态。例如,存储器装置300可使用表1、错误检测位、数据匹配位及奇偶校验匹配位来确定码字A的错误状态及码字B的错误状态。
表1-针对并行配置的基于错误信息位的错误状态
存储器装置300的并行配置可允许存储器装置300比替代配置(例如参考图5描述的串行配置)更快地(以更低延时)确定码字的错误状态。然而,由并行配置提供的错误状态信息可能不如由串行配置提供的错误状态信息全面,这可导致降低的诊断覆盖率及/或存储器装置300相对于具有串行配置的存储器装置遵守更少的数据请求。
在一些实例中,选择组件325可使用表1在码字之间进行选择用于传达到主机装置。例如,选择组件325可确定是从码字A传达数据A还是从码字B传达数据B。如果没有任何一个码字具有错误,那么选择组件325可选择任一码字用于传达到主机装置。如果码字A是无错误的且码字B的错误状态是未知的,那么存储器装置300可选择码字A用于传达(反之亦然)。如果两个码字的错误状态是未知的,那么存储器装置可1)选择任一码字用于传达且指示码字的错误状态,或2)不选择任一码字用于传达且可代替地传达错误旗标。如果码字A是无错误的且码字B具有错误,那么存储器装置300可选择码字A用于传达(反之亦然)。如果数据A及数据B各自是无错误的,但奇偶校验A及奇偶校验B各自具有一或多个错误,那么存储器装置可选择任一码字用于传达。如果两个码字都具有一或多个错误,那么存储器装置可1)选择任一码字用于传达且指示码字的错误状态,或2)不选择任一码字用于传达且可代替地传达错误旗标。
除了将所选择数据传达到主机装置之外,存储器装置300还可将码字中的一或两者的错误状态的指示传达或以其它方式提供到主机装置。在一些实例中,存储器装置300可通过将错误状态写入到存储器装置300处的一或多个模式寄存器以供主机装置读取来提供错误状态。在其它实例中,存储器装置300可通过将错误信息位写入到存储器装置300处的一或多个模式寄存器以供主机装置读取来提供错误状态。主机装置可周期性地或响应于触发条件(例如,从存储器装置300接收到提示)来读取模式寄存器。
在一些实例中,存储器装置300可通过向主机装置传输错误状态(例如,经由存储器装置300与主机装置之间的通信总线)来提供错误状态。在其它实例中,存储器装置300可通过向主机装置传输错误信息位(例如,经由存储器装置300与主机装置之间的通信总线)来提供错误状态。
主机装置可基于由存储器装置300提供的错误状态的指示来确定码字的错误状态,且可基于错误状态来执行一或多个操作。例如,如果错误状态指示由主机装置接收的数据是无错误的,那么主机装置可处理数据。如果错误状态指示所接收数据具有错误(例如,不可校正错误),那么主机装置可丢弃数据且进入安全模式。不可校正错误可指超过ECC能力的错误数量。例如,如果ECC引擎315经配置以检测及校正单个位错误,那么不可校正错误可指多位错误。如果错误状态指示码字中的一者具有错误,那么主机装置可记录与所述码字相关联的地址作为错误记录过程的部分以确保存储器装置300的可靠性。例如,如果阈值数量的错误在行中积累,那么主机装置可使存储器的一部分(例如,行)引退(例如,不再使用所述部分)。由主机装置进行的其它动作是被考虑的且在本公开的范围内。
因此,存储器装置300可通过存储码字的冗余副本且使用码字来产生错误信息位来确定码字的错误状态。
图4说明根据如本文公开的实例的支持存储器装置中的基于冗余的错误检测的过程流程400的实例。过程流程400的各个方面可由如本文描述的存储器装置来实施。例如,过程流程400的方面可由如参考图3所描述的存储器装置300来实施。通过实施过程流程400的方面,存储器装置可确定与由主机装置请求的一组数据相关联的码字的错误状态。
在405之前,存储器装置可接收(例如,从主机装置)用于一组数据的写入命令。响应于写入命令,存储器装置可产生第一码字(例如,码字A),其包含第一组奇偶校验位(奇偶校验A)及表示所述一组数据的第一组数据位(数据A)。存储器装置还可产生第二码字(例如,码字B),其包含第二组奇偶校验位(奇偶校验B)及表示所述一组数据的第二组数据位(数据B)。存储器装置接着可将第一码字及第二码字存储在存储器中。
在405处,存储器装置可接收(例如,从主机装置)用于所述一组数据的读取命令。在410处,存储器装置可读取与所述一组数据相关联的第一码字(例如,码字A)及第二码字(例如,码字B)。存储器装置可基于(例如,响应于)读取命令来读取第一码字及第二码字。
在415处,存储器装置可比较码字。例如,存储器装置可(例如,经由比较引擎320)将第一码字的第一部分(例如,数据A)与第二码字的对应第一部分(例如,数据B)进行比较。存储器装置可额外地或替代地将第一码字的第二部分(例如,奇偶校验A)与第二码字的对应第二部分(例如,奇偶校验B)进行比较。在420处,存储器装置(例如,经由比较引擎320)可产生一或多个匹配位。例如,存储器装置可产生指示数据A与数据B之间是否存在不匹配的数据匹配位。存储器装置可额外地或替代地产生指示奇偶校验A与奇偶校验B之间是否不匹配的奇偶校验匹配位。两组位之间的不匹配可指在每一组中处于相同位位置的相应位具有不同值。
在425处,其可在时间上与415部分或全部重叠,存储器装置可(例如,经由ECC引擎315)解码码字。例如,存储器装置可使用ECC引擎315-a对第一码字(例如,码字A)进行解码,且可使用ECC引擎315-b对第二码字(例如,码字B)进行解码。在430处,存储器装置可确定(例如,经由ECC引擎315)在解码期间在码字中是否检测到任何错误。如果在430处检测到任何错误,那么存储器装置可(例如,通过ECC引擎315)在435处校正所述错误。例如,如果在第一码字(例如,码字A)中检测到错误,那么ECC引擎315-a可通过反转处于错误状态中的位来校正所述错误。如果在第二码字(例如,码字B)中检测到错误,那么ECC引擎315-b可通过反转处于错误状态中的位来校正所述错误。
在440处,存储器装置可产生(例如,经由ECC引擎315)一或多个错误检测位。可基于解码来产生错误检测位。例如,ECC引擎315-a可基于对第一码字(例如,码字A)的解码来产生错误检测位ED_A,以指示是否在第一码字中检测到错误。类似地,ECC引擎315-b可基于对第二码字(例如,码字B)的解码来产生错误检测位ED_B,以指示是否在第二码字中检测到错误。
因为码字比较与ECC解码并行发生,所以码字的比较独立于ECC解码;且ECC解码独立于码字比较。换句话说,由比较引擎320比较的码字可不以由ECC引擎215进行的任何校正为特征。
在445处,存储器装置可将错误信息位传达到选择组件325。例如,ECC引擎315可将错误检测位传达到选择组件325,且比较引擎320可将匹配位传达到选择组件325。
在450处,存储器装置可(例如,经由选择组件325)使用错误信息位来确定码字的错误状态。例如,存储器装置可确定第一码字(例如,码字A)的错误状态,且可确定第二码字(例如,码字B)的错误状态。第一码字的错误状态可基于数据匹配位M_Data、奇偶校验位M_Parity、错误检测位ED_A或其任一组合来确定。第二码字的错误状态可基于数据匹配位M_Data、奇偶校验匹配位M_Parity、错误检测位ED_B或其任一组合来确定。在一些实例中,可基于表1来确定错误状态。
在455处,存储器装置可选择(例如,经由选择组件325)码字中的一者用于传达到主机装置。例如,存储器装置可选择码字A或码字B用于传达到主机装置。存储器装置可基于码字的错误状态来选择用于传达的码字。例如,如果一个码字是无错误的且另一码字具有错误,那么存储器装置可选择无错误的码字用于传达到主机装置。在460处,存储器装置可向主机装置提供码字的错误状态中的一或两者。例如,存储器装置可向主机装置传输错误状态或错误信息位。替代地,存储器装置可将错误状态或信息位写入到存储器装置处的一或多个寄存器以供主机装置读取。
因此,存储器装置可确定与由主机装置请求的一组数据相关联的码字的错误状态。可实施前述内容的替代实例,其中一些操作以与所描述的不同的顺序执行、并行执行或者根本不执行。在一些情况下,操作可包含本文未提及的额外特征,或者可添加另外操作。另外,一或多个操作可被执行多次,或者操作的某些组合可重复或循环。
图5说明根据如本文公开的实例的支持基于冗余的错误检测的存储器装置500的实例。存储器装置500可为如本文所描述的存储器装置的实例。存储器装置500可存储码字的冗余副本且使用码字来产生指示码字的错误状态的错误信息位。存储器装置500可经配置以支持串行(例如,一个接一个)的ECC解码及码字比较,这可相对于支持并行ECC解码及码字比较的存储器装置(例如,存储器装置300)改进诊断覆盖率。存储器装置500的配置可被称为串行配置。
在高电平下,存储器装置500类似于存储器装置300操作。例如,存储器装置500可将码字的冗余副本存储在存储器阵列505中,且可响应于读取命令而从存储器阵列505读取码字。然而,存储器装置500可串行地执行ECC解码及码字比较,而不是并行地执行ECC解码及码字比较。例如,存储器装置500可在比较码字之前执行ECC解码,使得所比较码字包含由ECC引擎进行的任何校正。串行地(与并行地相反)执行ECC解码及码字比较可以延时为代价来改进诊断覆盖率。
存储器装置500可包含存储器阵列505,其经配置以存储信息,例如码字。存储器阵列505可被划分为两个区段(例如,区段A及区段B),且可经配置以潜在地同时(例如,在完全或部分重叠的时间)对所述区段执行相同存取操作。例如,存储器阵列505可经配置以将第一码字(例如,码字A)写入到部分510-a且将第二码字(例如,码字B)写入到部分510-b。第一码字可包含1)代表一组数据的第一副本的第一组数据位(数据A)及2)第一组奇偶校验位(奇偶校验A)。第二码字可包含1)代表所述一组数据的第二副本的第二组数据位(数据B)及2)第二组奇偶校验位(奇偶校验B)。
ECC引擎515可经配置以对码字执行ECC解码,且基于ECC解码来产生错误检测位。例如,ECC引擎515可执行ECC解码以检测及校正码字中的错误(如果存在错误)。ECC引擎515还可产生错误检测位,所述错误检测位的值指示ECC引擎515是否检测到码字中错误。例如,ECC引擎515-a可对码字A执行ECC解码,且可基于ECC解码为码字A产生错误检测位A(ED_A)。类似地,ECC引擎515-b可对码字B执行ECC解码,且可基于ECC解码为码字B产生错误检测位B(ED_B)。
比较引擎520可经配置以比较从ECC引擎515接收的码字。例如,比较引擎520可经配置以比较可从ECC引擎515-a接收的码字A与可从ECC引擎515-b接收的码字B。因为比较引擎520对来自ECC引擎515的码字(而不是直接从存储器阵列505接收的码字)进行操作,所以由比较引擎520操作的码字可包含经校正位。例如,如果ECC引擎515-a检测且校正码字A中的位,那么比较引擎520可对经校正码字A执行比较。例如,如果ECC引擎515-b检测且校正码字B中的位,那么比较引擎520可对经校正码字B执行比较。
比较引擎520可产生指示数据A与数据B之间是否存在不匹配的数据匹配位(M_Data),可产生指示奇偶校验A与奇偶校验B之间是否不匹配的奇偶校验匹配位(M_Parity),或两者。如果数据位中存在不匹配(例如,数据A与数据B之间的不匹配),那么比较引擎520可产生具有值‘1’的数据匹配位(M_Data)。如果数据位匹配(例如,如果数据A中的每一位具有与数据B中的对应位相同的值),那么比较引擎520可产生具有值‘0’的数据匹配位(M_Data)。如果奇偶校验位中存在不匹配(例如,奇偶校验A与奇偶校验B之间的不匹配),那么比较引擎520可产生具有值‘1’的奇偶校验位(M_Parity)。如果奇偶校验位匹配(例如,如果奇偶校验A中的每一位具有与奇偶校验B中的对应位相同的值),那么比较引擎520可产生具有值‘0’的奇偶校验匹配位(M_Parity)。在一些实例中,存储器装置500可对码字的部分之间的不匹配的数量进行计数,如参考图3所描述。
存储器装置500(例如,经由选择组件525)可使用错误信息位来确定码字的错误状态。例如,存储器装置500可使用表2、错误检测位、数据匹配位及奇偶校验匹配位来确定码字A的错误状态及码字B的错误状态。
表2-针对串行配置的基于错误信息位的错误状态
相对于具有并行配置的存储器装置,存储器装置500的串行配置可允许存储器装置500改进诊断覆盖率且遵守更多数据请求。然而,相对于替代性配置,例如参考图3描述的并行配置,存储器装置500可能需要更长时间来确定码字的错误状态。
在一些实例中,比较引擎520可产生数据匹配位(M_Data),但不产生奇偶校验匹配位(M_parity),这可以降低诊断覆盖率(例如,无法区分数据错误与奇偶校验错误)为代价来降低存储器装置500的复杂性。在此类实例中,存储器装置500可使用错误信息位的子集(例如,错误检测位及数据匹配位)来确定码字的错误状态。例如,存储器装置500可使用表3、错误检测位及数据匹配位来确定码字A的错误状态及码字B的错误状态。
表3-针对串行配置的基于ED位及数据匹配位的错误状态
/>
在一些实例中,存储器装置500可产生错误检测位,但不产生数据匹配位(M_Data)或奇偶校验匹配位(M_parity),这可以降低诊断覆盖率为代价(例如,无法区分数据错误与奇偶校验错误)来降低存储器装置500的复杂性。在此类实例中,存储器装置500可使用错误信息位的子集(例如,错误检测位)来确定码字的错误状态。例如,存储器装置500可使用表4及错误检测位来确定码字A的错误状态及码字B的错误状态。
表4-针对串行配置的基于ED位的错误状态
ED_A ED_B A状态 B状态
0 0 码字A无错误 码字B无错误
0 1 码字A无错误 码字B错误
1 0 码字A错误 码字B无错误
1 1 码字A错误 码字B错误
选择组件525可使用表2、表3或表4以在码字之间进行选择以用于传达到主机装置。例如,选择组件525可确定是传达来自码字A的数据A还是来自码字B的数据B。在一些实例中,选择组件525可选择总体上具有最少错误或在数据位中具有最少错误的码字来进行传达。
除了将所选择数据传达到主机装置之外,存储器装置500可将码字中的一或两者的错误状态的指示传达或以其它方式提供到主机装置。在一些实例中,存储器装置500可通过将错误状态写入到存储器装置500处的一或多个模式寄存器以供主机装置读取来提供错误状态。在其它实例中,存储器装置300可通过将错误信息位写入到存储器装置500处的一或多个模式寄存器以供主机装置读取来提供错误状态。主机装置可周期性地或响应于触发条件(例如,从存储器装置500接收到提示)来读取模式寄存器。
在一些实例中,存储器装置500可通过向主机装置传输错误状态(例如,经由存储器装置500与主机装置之间的通信总线)来提供错误状态。在其它实例中,存储器装置500可通过向主机装置传输错误信息位(例如,经由存储器装置500与主机装置之间的通信总线)来提供错误状态。主机装置可基于由存储器装置500提供的错误状态的指示来确定码字的错误状态,且基于错误状态来执行一或多个动作。
因此,存储器装置500可通过存储码字的冗余副本且使用码字来产生错误信息位来确定码字的错误状态。
图6说明根据如本文公开的实例的支持存储器装置中的基于冗余的错误检测的过程流程600的实例。过程流程600的各个方面可由如本文描述的存储器装置来实施。例如,过程流程600的方面可由如参考图5所描述的存储器装置500来实施。通过实施过程流程600的方面,存储器装置可确定与由主机装置请求的一组数据相关联的码字的错误状态。
在605之前,存储器装置可接收(例如,从主机装置)用于一组数据的写入命令。响应于写入命令,存储器装置可产生第一码字(例如,码字A),其包含第一组奇偶校验位(奇偶校验A)及表示所述一组数据的第一组数据位(数据A)。存储器装置还可产生第二码字(例如,码字B),其包含第二组奇偶校验位(奇偶校验B)及表示所述一组数据的第二组数据位(数据B)。存储器装置接着可将第一码字及第二码字存储在存储器中。
在605处,存储器装置可接收(例如,从主机装置)用于所述一组数据的读取命令。在610处,存储器装置可读取与所述一组数据相关联的第一码字(例如,码字A)及第二码字(例如,码字B)。存储器装置可基于(例如,响应于)读取命令来读取第一码字及第二码字。
在615处,存储器装置可(例如,经由ECC引擎515)对码字进行解码。例如,存储器装置可使用ECC引擎515-a对第一码字(例如,码字A)进行解码,且可使用ECC引擎515-b对第二码字(例如,码字B)进行解码。在620处,存储器装置可确定(例如,经由ECC引擎515)在解码期间在码字中是否检测到任何错误。如果在620处检测到任何错误,那么存储器装置可(例如,通过ECC引擎515)在625处校正所述错误。例如,如果在第一码字(例如,码字A)中检测到错误,那么ECC引擎515-a可通过反转处于错误状态中的位来校正所述错误。如果在第二码字(例如,码字B)中检测到错误,那么ECC引擎515-b可通过反转处于错误状态中的位来校正所述错误。
在630处,存储器装置可产生(例如,经由ECC引擎515)一或多个错误检测位。可基于解码来产生错误检测位。例如,ECC引擎515-a可基于对第一码字(例如,码字A)的解码来产生错误检测位ED_A,以指示是否在第一码字中检测到错误。类似地,ECC引擎515-b可基于对第二码字(例如,码字B)的解码来产生错误检测位ED_B,以指示是否在第二码字中检测到错误。
在635处,存储器装置可比较码字。例如,存储器装置(例如,经由比较引擎520)将第一码字的第一部分(例如,数据A)与第二码字的对应第一部分(例如,数据B)进行比较。存储器装置可额外地或替代地将第一码字的第二部分(例如,奇偶校验A)与第二码字的对应第二部分(例如,奇偶校验B)进行比较。码字的比较可在对码字进行解码之后发生,使得所比较码字包含在解码期间进行的任何校正。
在640处,存储器装置(例如,经由比较引擎520)可产生一或多个匹配位。例如,存储器装置可产生指示数据A与数据B之间是否存在不匹配的数据匹配位。存储器装置可额外地或替代地产生指示奇偶校验A与奇偶校验B之间是否存在不匹配的奇偶校验匹配位。
在645处,存储器装置可将错误信息位传达到选择组件525。例如,ECC引擎515可将错误检测位传达到选择组件525,且比较引擎520可将匹配位传达到选择组件525。
在650处,存储器装置可(例如,经由选择组件525)使用错误信息位来确定码字的错误状态。例如,存储器装置可确定第一码字(例如,码字A)的错误状态,且可确定第二码字(例如,码字B)的错误状态。第一码字的错误状态可基于数据匹配位M_Data、奇偶校验位M_Parity、错误检测位ED_A或其任一组合来确定。第二码字的错误状态可基于数据匹配位M_Data、奇偶校验匹配位M_Parity、错误检测位ED_B或其任一组合来确定。在一些实例中,可基于表2、表3或表4来确定错误状态。
在655处,存储器装置可(例如,经由选择组件525)选择码字中的一者用于传达到主机装置。例如,存储器装置可选择码字A或码字B用于传达到主机装置。存储器装置可基于码字的错误状态来选择用于传达的码字。例如,如果一个码字是无错误的且另一码字具有错误,那么存储器装置可选择无错误的码字用于传达到主机装置。在660处,存储器装置可向主机装置提供码字的错误状态中的一或两者。例如,存储器装置可向主机装置传输错误状态或错误信息位。替代地,存储器装置可将错误状态或信息位写入到存储器装置处的一或多个寄存器以供主机装置读取。
因此,存储器装置可确定与由主机装置请求的一组数据相关联的码字的错误状态。可实施前述内容的替代实例,其中一些操作以与所描述的不同的顺序执行、并行执行或者根本不执行。在一些情况下,操作可包含本文未提及的额外特征,或者可添加另外操作。另外,某些操作可被执行多次,或者操作的某些组合可重复或循环。
图7展示根据如本文公开的实例的支持基于冗余的错误检测的存储器装置720的框图700。存储器装置720可为如参考图1到6描述的存储器装置的方面的实例。存储器装置720或其各种组件可为用于执行如本文所描述的存储器装置中的基于冗余的错误检测的各种方面的构件的实例。例如,存储器装置720可包含存储器阵列725、错误校正电路系统730、比较电路系统735、控制器740、传输电路系统745、寄存器750或其任一组合。这些组件中的每一者可直接或间接地彼此通信(例如,经由一或多个总线)。
存储器阵列725可经配置为或以其它方式支持用于从存储器读取包含代表一组数据的第一组数据位的第一码字及包含代表一组数据的第二组数据位的第二码字的构件。错误校正电路系统730可经配置为或以其它方式支持用于至少部分基于从存储器读取第一码字来产生指示是否已在第一码字中检测到错误的错误检测位的构件。比较电路系统735可经配置为或以其它方式支持用于至少部分基于从存储器读取第一码字及第二码字来产生指示第一码字的一部分是否与第二码字的对应部分匹配的匹配位的构件。控制器740可经配置为或以其它方式支持用于至少部分基于匹配位及错误检测位来确定第一码字的错误状态的构件。
在一些实例中,控制器740可经配置为或以其它方式支持用于至少部分基于第一码字的错误状态而在第一组数据位与第二组数据位之间进行选择以用于传达到主机装置的构件。在一些实例中,传输电路系统745可经配置为或以其它方式支持用于将所选择第一组数据位或第二组数据位传达到主机装置的构件。
在一些实例中,第一码字的部分包含第一组数据位,且第二码字的部分包含第二组数据位,且比较电路系统735可经配置为或以其它方式支持用于至少部分基于从存储器读取第一码字来产生指示第一码字中的第一组奇偶校验位是否与第二码字中的第二组奇偶校验位匹配的第二匹配位的构件,其中第一码字的错误状态至少部分基于第二匹配位来确定。
在一些实例中,第一码字的部分包含第一组奇偶校验位,且第二码字的部分包含第二组奇偶校验位,且比较电路系统735可经配置为或以其它方式支持用于至少部分基于从存储器读取第一码字来产生指示第一组数据位是否与第二组数据位匹配的第二匹配位的构件,其中第一码字的错误状态至少部分基于第二匹配位来确定。
在一些实例中,错误校正电路系统730可经配置为或以其它方式支持用于对第一码字及第二码字进行解码的构件,其中错误检测位是至少部分基于解码。在一些实例中,比较电路系统735可经配置为或以其它方式支持用于至少部分基于对第一码字及第二码字进行解码来将第一组数据位与第二组数据位进行比较的构件,其中匹配位至少部分基于比较来产生。
在一些实例中,错误校正电路系统730可经配置为或以其它方式支持用于至少部分基于对第一码字进行解码来校正第一组数据位中的错误的构件,其中在校正错误之后将第一组数据位与第二组数据位进行比较。
在一些实例中,错误校正电路系统730可经配置为或以其它方式支持用于对第一码字及第二码字进行解码的构件,其中错误检测位是至少部分基于解码。在一些实例中,比较电路系统735可经配置为或以其它方式支持用于与对第一码字及第二码字进行解码并行地将第一组数据位与第二组数据位进行比较的构件,其中匹配位至少部分基于比较来产生。
在一些实例中,错误校正电路系统730可经配置为或以其它方式支持用于至少部分基于从存储器读取第二码字来产生指示是否已在第二码字中检测到错误的第二错误检测位的构件。在一些实例中,控制器740可经配置为或以其它方式支持用于至少部分基于匹配位及第二错误检测位来确定第二码字的错误状态的构件。
在一些实例中,控制器740可经配置为或以其它方式支持用于至少部分基于第一码字的错误状态及第二码字的错误状态而在第一组数据位与第二组数据位之间进行选择以用于传达到主机装置的构件。在一些实例中,传输电路系统745可经配置为或以其它方式支持用于将所选择第一组数据位或第二组数据位传达到主机装置的构件。
在一些实例中,寄存器750可经配置为或以其它方式支持用于将第一码字的错误状态的指示提供到主机装置的构件。在一些实例中,寄存器750可经配置为或以其它方式支持用于将匹配位及错误检测位提供到主机装置的构件。
图8展示根据如本文公开的实例的支持基于冗余的错误检测的主机装置820的框图800。主机装置820可为如参考图1到6描述的主机装置的方面的实例。主机装置820或其各种组件可为用于执行如本文所描述的存储器装置中的基于冗余的错误检测的各种方面的构件的实例。例如,主机装置820可包含传输电路系统825、控制器830、接收电路系统835或其任一组合。这些组件中的每一者可直接或间接地彼此通信(例如,经由一或多个总线)。
传输电路系统825可经配置为或以其它方式支持用于传输用于与第一码字及第二码字相关联的一组数据的读取命令的构件,其中第一码字包含代表所述一组数据的第一组数据位,且其中第二码字包含代表所述一组数据的第二组数据位。控制器830可经配置为或以其它方式支持用于至少部分基于传输读取命令来确定指示第一码字的一部分是否与第二码字的对应部分匹配的匹配位及指示存储器装置是否在第一码字中检测到错误的错误检测位的构件。在一些实例中,控制器830可经配置为或以其它方式支持用于至少部分基于匹配位及错误检测位来确定第一码字的错误状态的构件。
在一些实例中,错误状态指示第一码字具有不可校正错误,且控制器830可经配置为或以其它方式支持用于至少部分基于第一码字的错误状态指示第一码字具有不可校正错误而进入安全模式的构件。
在一些实例中,第一码字的部分包含第一组数据位,且第二码字的部分包含第二组数据位,且控制器830可经配置为或以其它方式支持用于至少部分基于传输读取命令来确定第一码字中的第一组奇偶校验位是否与第二码字中的第二组奇偶校验位匹配的第二匹配位的构件,其中第一码字的错误状态至少部分基于第二匹配位来确定。
在一些实例中,第一码字的部分包含第一组奇偶校验位,且第二码字的部分包含第二组奇偶校验位,且控制器830可经配置为或以其它方式支持用于至少部分基于传输读取命令来确定指示第一码字中的第一组数据位是否与第二码字中的第二组数据位匹配的第二匹配位的构件,其中第一码字的错误状态至少部分基于第二匹配位来确定。
在一些实例中,接收电路系统835可经配置为或以其它方式支持用于至少部分基于传输读取命令来接收第一组数据位的构件。在一些实例中,控制器830可经配置为或以其它方式支持用于至少部分基于错误状态来确定第一组数据位无错误的构件。
在一些实例中,控制器830可经配置为或以其它方式支持用于读取包含在存储器装置中的一或多个模式寄存器的构件,其中匹配位及错误检测位至少部分基于读取一或多个模式寄存器来确定。
在一些实例中,接收电路系统835可经配置为或以其它方式支持用于从存储器装置接收匹配位及错误检测位的指示的构件,其中匹配位及错误检测位至少部分基于接收指示来确定。
图9展示说明根据如本文公开的实例的支持存储器装置中的基于冗余的错误检测的方法900的流程图。方法900的操作可由本文描述的存储器装置或其组件实施。例如,方法900的操作可由如参考图1到7描述的存储器装置来执行。在一些实例中,存储器装置可执行一组指令以控制装置的功能元件执行所描述功能。额外地或替代地,存储器装置可使用专用硬件来执行所描述功能的方面。
在905处,所述方法包含从存储器读取包含代表一组数据的第一组数据位的第一码字及包含代表所述一组数据的第二组数据位的第二码字。操作905可根据如本文公开的实例来执行。在一些实例中,操作905的方面可由如参考图7描述的存储器阵列725来执行。
在910处,所述方法可包含至少部分基于从存储器读取第一码字来产生错误检测位,所述错误检测位指示是否已在第一码字中检测到错误。操作910可根据如本文公开的实例来执行。在一些实例中,操作910的方面可由如参考图7描述的错误校正电路系统730来执行。
在915处,所述方法可包含至少部分基于从存储器读取第一码字及第二码字来产生匹配位,所述匹配位指示第一码字的一部分是否与第二码字的对应部分匹配。操作915可根据如本文公开的实例来执行。在一些实例中,操作915的方面可由如参考图7描述的比较电路系统735来执行。
在920处,所述方法可包含至少部分基于匹配位及错误检测位来确定第一码字的错误状态。操作920可根据如本文公开的实例来执行。在一些实例中,操作920的方面可由如参考图7描述的控制器740来执行。
在一些实例中,本文描述的设备可执行例如方法900的方法。所述设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任一组合:
方面1:一种包含操作、特征、电路系统、逻辑、构件或指令或其任一组合的方法、设备或非暂时性计算机可读媒体,其用于:从存储器读取包含代表一组数据的第一组数据位的第一码字及包含代表所述一组数据的第二组数据位的第二码字;至少部分基于从存储器读取所述第一码字来产生错误检测位,所述错误检测位指示是否已在所述第一码字中检测到错误;至少部分基于从存储器读取所述第一码字及所述第二码字来产生匹配位,所述匹配位指示所述第一码字的一部分是否与所述第二码字的对应部分匹配;以及至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
方面2:根据方面1所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于:至少部分基于所述第一码字的所述错误状态而在所述第一组数据位与所述第二组数据位之间进行选择以用于传达到主机装置;以及将所述所选择的第一组数据位或第二组数据位传达到所述主机装置。
方面3:根据方面1到2中任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述第一码字的所述部分包含所述第一组数据位,且所述第二码字的所述部分包含所述第二组数据位,且所述方法、设备及非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一码字中的第一组奇偶校验位是否与所述第二码字中的第二组奇偶校验位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
方面4:根据方面1到3中任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述第一码字的所述部分包含第一组奇偶校验位,且所述第二码字的所述部分包含第二组奇偶校验位,且所述方法、设备及非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一组数据位是否与所述第二组数据位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
方面5:根据方面1到4中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于:对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及至少部分基于对所述第一码字及所述第二码字进行解码来将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
方面6:根据方面5所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于至少部分基于对所述第一码字进行解码来校正所述第一组数据位中的错误,其中在校正所述错误之后将所述第一组数据位与所述第二组数据位进行比较。
方面7:根据方面1到6中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于:对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及与对所述第一码字及所述第二码字进行解码并行地将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
方面8:根据方面1到7中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于:至少部分基于从存储器读取所述第二码字来产生第二错误检测位,所述第二错误检测位指示是否已在所述第二码字中检测到错误;以及至少部分基于所述匹配位及所述第二错误检测位来确定所述第二码字的错误状态。
方面9:根据方面8所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于:至少部分基于所述第一码字的所述错误状态及所述第二码字的所述错误状态而在所述第一组数据位与所述第二组数据位之间进行选择以用于传达到主机装置;以及将所述所选择的第一组数据位或第二组数据位传达到所述主机装置。
方面10:根据方面1到9中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于将所述第一码字的所述错误状态的指示提供到主机装置。
方面11:根据方面1到10中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于将所述匹配位及所述错误检测位提供到主机装置。
图10展示说明根据如本文公开的实例的支持基于冗余的错误检测的方法1000的流程图。方法1000的操作可通过如本文描述的主机装置或其组件来实施。例如,方法1000的操作可由如参考图1到6及8描述的主机装置来执行。在一些实例中,主机装置可执行一组指令以控制装置的功能元件执行所描述功能。额外地或替代地,主机装置可使用专用硬件来执行所描述功能的方面。
在1005处,所述方法可包含传输用于与第一码字及第二码字相关联的一组数据的读取命令,其中所述第一码字包含代表所述一组数据的第一组数据位,且其中所述第二码字包含代表所述一组数据的第二组数据位。操作1005可根据如本文公开的实例来执行。在一些实例中,操作1005的方面可由如参考图8描述的传输电路系统825来执行。
在1010处,所述方法可包含至少部分基于传输所述读取命令来确定指示所述第一码字的一部分是否与所述第二码字的对应部分匹配的匹配位,及指示存储器装置是否在所述第一码字中检测到错误的错误检测位。操作1010可根据如本文公开的实例来执行。在一些实例中,操作1010的方面可由如参考图8描述的控制器830来执行。
在1015处,所述方法可包含至少部分基于匹配位及错误检测位来确定第一码字的错误状态。操作1015可根据如本文公开的实例来执行。在一些实例中,操作1015的方面可由如参考图8描述的控制器830来执行。
在一些实例中,本文描述的设备可执行例如方法1000的方法。所述设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任一组合:
方面12:一种包含操作、特征、电路系统、逻辑、构件或指令或其任一组合的方法、设备或非暂时性计算机可读媒体,其用于:传输用于与第一码字及第二码字相关联的一组数据的读取命令,其中所述第一码字包含代表所述一组数据的第一组数据位,且其中所述第二码字包含代表所述一组数据的第二组数据位;至少部分基于传输所述读取命令来确定指示所述第一码字的一部分是否与所述第二码字的对应部分匹配的匹配位,及指示存储器装置是否在所述第一码字中检测到错误的错误检测位;及至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
方面13:根据方面12所述的方法、设备或非暂时性计算机可读媒体,其中所述错误状态指示所述第一码字具有不可校正错误,且所述方法、设备及非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于至少部分基于所述第一码字的所述错误状态指示所述第一码字具有不可校正错误而进入安全模式。
方面14:根据方面12到13中任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述第一码字的所述部分包含所述第一组数据位,且所述第二码字的所述部分包含所述第二组数据位,且所述方法、设备及非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于至少部分基于传输所述读取命令来确定第二匹配位,所述第二匹配位指示所述第一码字中的第一组奇偶校验位是否与所述第二码字中的第二组奇偶校验位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
方面15:根据方面12到14中任一方面所述的方法、设备或非暂时性计算机可读媒体,其中所述第一码字的所述部分包含第一组奇偶校验位,且所述第二码字的所述部分包含第二组奇偶校验位,且所述方法、设备及非暂时性计算机可读媒体进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于至少部分基于传输所述读取命令来确定第二匹配位,所述第二匹配位指示所述第一码字中的所述第一组数据位是否与所述第二码字中的所述第二组数据位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
方面16:根据方面12到15中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于:至少部分基于传输所述读取命令来接收所述第一组数据位;以及至少部分基于所述错误状态来确定所述第一组数据位是无错误的。
方面17:根据方面12到16中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于读取包含在所述存储器装置中的一或多个模式寄存器,其中所述匹配位及所述错误检测位至少部分基于读取所述一或多个模式寄存器来确定。
方面18:根据方面12到17中任一方面所述的方法、设备或非暂时性计算机可读媒体,其进一步包含操作、特征、电路系统、逻辑、构件或指令或其任一组合,其用于从所述存储器装置接收所述匹配位及所述错误检测位的指示,其中所述匹配位及所述错误检测位至少部分基于接收所述指示来确定。
应注意,本文描述的方法描述可能的实施方案,且操作及步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。此外,可组合来自方法中的两者或更多者的部分。
描述一种设备。下文提供如本文描述的设备的方面的概述:
方面19:一种设备,其包含:存储器;及控制器,其与所述存储器耦合且经配置以致使所述设备:从所述存储器读取包含代表一组数据的第一组数据位的第一码字及包含代表所述一组数据的第二组数据位的第二码字;至少部分基于从存储器读取所述第一码字来产生错误检测位,所述错误检测位指示是否已在所述第一码字中检测到错误;至少部分基于从存储器读取所述第一码字及所述第二码字来产生匹配位,所述匹配位指示所述第一码字的一部分是否与所述第二码字的对应部分匹配;以及至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
方面20:根据方面19所述的设备,其中所述控制器进一步经配置以致使所述设备:至少部分基于所述第一码字的所述错误状态而在所述第一组数据位与所述第二组数据位之间进行选择以用于传达到主机装置;以及将所述所选择的第一组数据位或第二组数据位传达到所述主机装置。
方面21:根据方面19到20中任一方面所述的设备,其中所述第一码字的所述部分包含所述第一组数据位,且所述第二码字的所述部分包含所述第二组数据位,且其中所述控制器进一步经配置以致使所述设备:至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一码字中的第一组奇偶校验位是否与所述第二码字中的第二组奇偶校验位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
方面22:根据方面19到21中任一方面所述的设备,其中所述第一码字的所述部分包含第一组奇偶校验位,且所述第二码字的所述部分包含第二组奇偶校验位,且其中所述控制器进一步经配置以致使所述设备:至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一组数据位是否与所述第二组数据位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
方面23:根据方面19到22中任一方面所述的设备,其中所述控制器进一步经配置以致使所述设备:对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及至少部分基于对所述第一码字及所述第二码字进行解码来将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
方面24:根据方面23所述的设备,其中所述控制器进一步经配置以致使所述设备:至少部分基于对所述第一码字进行解码来校正所述第一组数据位中的错误,其中在校正所述错误之后将所述第一组数据位与所述第二组数据位进行比较。
方面25:根据方面19到24中任一方面所述的设备,其中所述控制器进一步经配置以致使所述设备:对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及与对所述第一码字及所述第二码字进行解码并行地将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
本文描述的信息及信号可使用各种不同科技及技术中的任一者来表示。例如,可贯穿上文描述引用的数据、指令、命令、信息、信号、位、符号及芯片可由电压、电流、电磁波、磁场或磁性粒子、光场或光学粒子或其任何组合来表示。一些图式可将信号说明为单个信号;然而,所述信号可表示信号的总线,其中所述总线可具有各种位宽度。
术语“电子连通”、“导电接触”、“连接”及“耦合”可指代支持组件之间的信号流动的组件之间的关系。如果组件之间存在可在任何时间支持组件之间的信号(例如,电荷、电流、电压)的流动的任何电路径(例如,导电路径),那么可认为组件彼此电子连通(例如,彼此导电接触、连接、耦合)。在任何给定时间,基于包含经连接组件的装置的操作,彼此电子连通(例如,彼此导电接触、连接、耦合)的组件之间的导电路径可为开路或闭路。经连接组件之间的导电路径可为组件之间的直接导电路径,或经连接组件之间的导电路径可为可包含中间组件(例如开关、晶体管或其它组件)的间接导电路径。在一些实例中,经连接组件之间的信号流动可例如使用一或多个中间组件(例如开关或晶体管)来中断一段时间。
术语“耦合”指代从组件之间的开路关系(其中信号当前不能够在组件之间传达(例如,通过导电路径))转变为组件之间的闭路关系(其中信号能够在组件之间传达(例如,通过导电路径))的条件。当例如控制器的组件将其它组件耦合在一起时,组件引发允许信号通过先前不允许信号流动的导电路径来在其它组件之间流动的改变。
术语“隔离”指代其中信号当前无法在组件之间流动的组件之间的关系。如果组件之间存在开路,那么它们彼此隔离。例如,当定位于两个组件之间的开关断开时,由开关分离的组件彼此隔离。当控制器隔离两个组件时,控制器引起阻止信号使用先前允许信号流动的导电路径在组件之间流动的改变。
本文中所论述的装置(包含存储器阵列)可形成于半导体衬底(例如硅、锗、硅锗合金、砷化镓、氮化镓等)上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可为绝缘体上硅(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.根据权利要求1所述的方法,其中所述第一码字的所述部分包括所述第一组数据位,
且所述第二码字的所述部分包括所述第二组数据位,所述方法进一步包括:
至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一码字中的第一组奇偶校验位是否与所述第二码字中的第二组奇偶校验位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
4.根据权利要求1所述的方法,其中所述第一码字的所述部分包括第一组奇偶校验位,
且所述第二码字的所述部分包括第二组奇偶校验位,所述方法进一步包括:
至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一组数据位是否与所述第二组数据位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
5.根据权利要求1所述的方法,其进一步包括:
对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及
至少部分基于对所述第一码字及所述第二码字进行解码来将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
6.根据权利要求5所述的方法,其进一步包括:
至少部分基于对所述第一码字进行解码来校正所述第一组数据位中的错误,其中在校正所述错误之后将所述第一组数据位与所述第二组数据位进行比较。
7.根据权利要求1所述的方法,其进一步包括:
对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及
与对所述第一码字及所述第二码字进行解码并行地将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
8.根据权利要求1所述的方法,其进一步包括:
至少部分基于从存储器读取所述第二码字来产生第二错误检测位,所述第二错误检测位指示是否已在所述第二码字中检测到错误;以及
至少部分基于所述匹配位及所述第二错误检测位来确定所述第二码字的错误状态。
9.根据权利要求8所述的方法,其进一步包括:
至少部分基于所述第一码字的所述错误状态及所述第二码字的所述错误状态而在所述第一组数据位与所述第二组数据位之间进行选择以用于传达到主机装置;以及
将所述所选择的第一组数据位或第二组数据位传达到所述主机装置。
10.根据权利要求1所述的方法,其进一步包括:
将所述第一码字的所述错误状态的指示提供到主机装置。
11.根据权利要求1所述的方法,其进一步包括:
将所述匹配位及所述错误检测位提供到主机装置。
12.一种方法,其包括:
传输用于与第一码字及第二码字相关联的一组数据的读取命令,其中所述第一码字包括代表所述一组数据的第一组数据位,且其中所述第二码字包括代表所述一组数据的第二组数据位;
至少部分基于传输所述读取命令来确定指示所述第一码字的一部分是否与所述第二码字的对应部分匹配的匹配位,及指示存储器装置是否在所述第一码字中检测到错误的错误检测位;以及
至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
13.根据权利要求12所述的方法,其中所述错误状态指示所述第一码字具有不可校正错误,所述方法进一步包括:
至少部分基于所述第一码字的所述错误状态指示所述第一码字具有不可校正错误而进入安全模式。
14.根据权利要求12所述的方法,其中所述第一码字的所述部分包括所述第一组数据位,且所述第二码字的所述部分包括所述第二组数据位,所述方法进一步包括:至少部分基于传输所述读取命令来确定第二匹配位,所述第二匹配位指示所述第一码字中的第一组奇偶校验位是否与所述第二码字中的第二组奇偶校验位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
15.根据权利要求12所述的方法,其中所述第一码字的所述部分包括第一组奇偶校验位,且所述第二码字的所述部分包括第二组奇偶校验位,所述方法进一步包括:至少部分基于传输所述读取命令来确定第二匹配位,所述第二匹配位指示所述第一码字中的所述第一组数据位是否与所述第二码字中的所述第二组数据位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
16.根据权利要求12所述的方法,其进一步包括:
至少部分基于传输所述读取命令来接收所述第一组数据位;以及
至少部分基于所述错误状态来确定所述第一组数据位是无错误的。
17.根据权利要求12所述的方法,其进一步包括:
读取包含在所述存储器装置中的一或多个模式寄存器,其中所述匹配位及所述错误检测位至少部分基于读取所述一或多个模式寄存器来确定。
18.根据权利要求12所述的方法,其进一步包括:
从所述存储器装置接收所述匹配位及所述错误检测位的指示,其中所述匹配位及所述错误检测位至少部分基于接收所述指示来确定。
19.一种设备,其包括:
存储器;及
控制器,其与所述存储器耦合且经配置以致使所述设备:
从所述存储器读取包括代表一组数据的第一组数据位的第一码字及包括代表所述一组数据的第二组数据位的第二码字;
至少部分基于从存储器读取所述第一码字来产生错误检测位,所述错误检测位指示是否已在所述第一码字中检测到错误;
至少部分基于从存储器读取所述第一码字及所述第二码字来产生匹配位,所述匹配位指示所述第一码字的一部分是否与所述第二码字的对应部分匹配;以及
至少部分基于所述匹配位及所述错误检测位来确定所述第一码字的错误状态。
20.根据权利要求19所述的设备,其中所述控制器进一步经配置以致使所述设备:
至少部分基于所述第一码字的所述错误状态而在所述第一组数据位与所述第二组数据位之间进行选择以用于传达到主机装置;以及
将所述所选择的第一组数据位或第二组数据位传达到所述主机装置。
21.根据权利要求19所述的设备,其中所述第一码字的所述部分包括所述第一组数据位,且所述第二码字的所述部分包括所述第二组数据位,且其中所述控制器进一步经配置以致使所述设备:
至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一码字中的第一组奇偶校验位是否与所述第二码字中的第二组奇偶校验位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
22.根据权利要求19所述的设备,其中所述第一码字的所述部分包括第一组奇偶校验位,且所述第二码字的所述部分包括第二组奇偶校验位,且其中所述控制器进一步经配置以致使所述设备:
至少部分基于从存储器读取所述第一码字来产生第二匹配位,所述第二匹配位指示所述第一组数据位是否与所述第二组数据位匹配,其中所述第一码字的所述错误状态至少部分基于所述第二匹配位来确定。
23.根据权利要求19所述的设备,其中所述控制器进一步经配置以致使所述设备:
对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及
至少部分基于对所述第一码字及所述第二码字进行解码来将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
24.根据权利要求23所述的设备,其中所述控制器进一步经配置以致使所述设备:
至少部分基于对所述第一码字进行解码来校正所述第一组数据位中的错误,其中在校正所述错误之后将所述第一组数据位与所述第二组数据位进行比较。
25.根据权利要求19所述的设备,其中所述控制器进一步经配置以致使所述设备:
对所述第一码字及所述第二码字进行解码,其中所述错误检测位是至少部分基于所述解码;以及
与对所述第一码字及所述第二码字进行解码并行地将所述第一组数据位与所述第二组数据位进行比较,其中所述匹配位至少部分基于所述比较来产生。
CN202311226297.9A 2022-09-22 2023-09-21 存储器装置中的基于冗余的错误检测 Pending CN117743021A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/934,452 US11960360B1 (en) 2022-09-22 2022-09-22 Redundancy-based error detection in a memory device
US17/934,452 2022-09-22

Publications (1)

Publication Number Publication Date
CN117743021A true CN117743021A (zh) 2024-03-22

Family

ID=90251505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311226297.9A Pending CN117743021A (zh) 2022-09-22 2023-09-21 存储器装置中的基于冗余的错误检测

Country Status (2)

Country Link
US (1) US11960360B1 (zh)
CN (1) CN117743021A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444540B2 (en) * 2005-06-21 2008-10-28 Hewlett-Packard Development Company, L.P. Memory mirroring apparatus and method
TWI417893B (zh) * 2009-05-06 2013-12-01 Silicon Motion Inc 資料存取裝置及資料存取方法
US9547449B2 (en) * 2014-11-12 2017-01-17 International Business Machines Corporation Performance optimization of read functions in a memory system

Also Published As

Publication number Publication date
US20240103966A1 (en) 2024-03-28
US11960360B1 (en) 2024-04-16

Similar Documents

Publication Publication Date Title
US11755409B2 (en) Internal error correction for memory devices
WO2022192832A1 (en) Repair operation techniques
CN115732018A (zh) 实时校正子检查
US20230231574A1 (en) Syndrome check functionality to differentiate between error types
CN116893925A (zh) 使用行错误信息的擦除操作
US11656937B2 (en) Techniques for error detection and correction in a memory system
CN115904829A (zh) 检测数据总线驱动故障
CN114613422A (zh) 错误类型指示
US11960360B1 (en) Redundancy-based error detection in a memory device
US20240220361A1 (en) Redundancy-based error detection in a memory device
CN114168069B (zh) 具有增强的数据可靠性能力的存储器装置
US11942966B2 (en) Managing error control information using a register
US20230197180A1 (en) Address fault detection
US20230043306A1 (en) Techniques for memory error correction
US11928018B2 (en) Coordinated error protection
US20240094921A1 (en) Testing operations for memory systems
US20240004756A1 (en) Data correction scheme with reduced device overhead
US20240220354A1 (en) Coordinated error protection
US11960398B2 (en) Enhanced data reliability in multi-level memory cells
US20230039002A1 (en) Techniques for memory error correction
US20240028247A1 (en) Efficient error signaling by memory
US20240111626A1 (en) Error status determination at a memory device
US20230071764A1 (en) Error caching techniques for improved error correction in a memory device
CN117851110A (zh) 主机装置处的错误检测及分类
CN116361041A (zh) 错误检测信令

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication