CN112543921A - 加强型位翻转方案 - Google Patents

加强型位翻转方案 Download PDF

Info

Publication number
CN112543921A
CN112543921A CN201980052287.3A CN201980052287A CN112543921A CN 112543921 A CN112543921 A CN 112543921A CN 201980052287 A CN201980052287 A CN 201980052287A CN 112543921 A CN112543921 A CN 112543921A
Authority
CN
China
Prior art keywords
bit
bits
component
data
inverted
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.)
Granted
Application number
CN201980052287.3A
Other languages
English (en)
Other versions
CN112543921B (zh
Inventor
R·E·法肯索尔
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 CN112543921A publication Critical patent/CN112543921A/zh
Application granted granted Critical
Publication of CN112543921B publication Critical patent/CN112543921B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1012Adding 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 codes or arrangements adapted for a specific type of error
    • 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/1048Adding 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
    • 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/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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/43Majority logic or threshold decoding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本发明描述用于使用加强型位翻转方案操作存储器胞的方法、系统及装置。加强型位翻转方案可包含用于以下各者的方法、系统及装置:在产生指示是否翻转对应码字中的数据位的翻转位的同时执行码字中的数据位的错误校正;抑制执行所述码字中的反转位的错误校正;及使用多个反转位产生高可靠性翻转位。例如,可通过确定数个、大多数或全部所述反转位是否指示所述数据位处于经反转状态中而产生更可靠的翻转位。

Description

加强型位翻转方案
交叉参考
本专利申请案主张法兰肯塔尔(Fackenthal)在2018年8月17日申请的标题为“加强型位翻转方案(ENHANCED BIT FLIPPING SCHEME)”的第16/104,470号美国专利申请案的优先权,所述申请案让与其受让人且以全文引用的方式明确并入本文中。
背景技术
下文大体上涉及操作存储器阵列且更具体来说,涉及一种加强型位翻转方案。
存储器装置广泛用于将信息存储于各种电子装置(例如计算机、无线通信装置、相机、数字显示器及类似者)中。通过编程存储器装置的不同状态而存储信息。举例来说,二进制装置具有两个状态,所述两个状态通常由逻辑“1”或逻辑“0”表示。在其它系统中,可存储两个以上状态。为了存取经存储信息,电子装置的组件可读取或感测存储器装置中的经存储状态。为了存储信息,电子装置的组件可在存储器装置中写入或编程状态。
存在多个类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻性RAM(RRAM)、闪存、相变存储器(PCM)等。存储器装置可为易失性或非易失性的。非易失性存储器(例如,FeRAM、PCM、RRAM)即使在不存在外部电源的情况下仍可维持其经存储逻辑状态达延长时间段。易失性存储器装置(例如,DRAM)可随时间丢失其经存储状态,除非其通过外部电源周期性地刷新。
存储器装置可(例如,为了可靠性原因)反转存储于存储器胞处的数据位。位可指示存储于特定存储器胞处的逻辑状态经反转。然而,针对与反转相关的位执行错误校正可延迟存取操作且当读取操作存取存储器的区段时,此延迟可由传播延迟加剧,从而将显著延时引入存储器系统中。期望与位翻转及错误校正操作相关的加强型方案。
附图说明
图1说明根据本发明的各个方面的支持加强型位翻转方案的示范性存储器阵列。
图2说明根据本发明的各个方面的支持加强型位翻转方案的示范性读取组件。
图3说明根据本发明的各个方面的使用加强型位翻转方案的示范性存储器操作的方面。
图4说明根据本发明的各个方面的加强型位翻转方案的示范性存储器配置。
图5说明根据本发明的各个方面的加强型位翻转方案的示范性翻转位产生器。
图6说明根据本发明的各个方面的加强型位翻转方案的示范性稳健感测组件。
图7说明根据本发明的各个方面的加强型位翻转方案的示范性表决电路。
图8说明根据本发明的各个实施例的支持加强型位翻转方案的存储器阵列的框图。
图9说明根据本发明的各个实施例的支持加强型位翻转方案的系统。
图10及11说明根据本发明的各个实施例的加强型位翻转方案的一或若干方法的方面。
具体实施方式
存储器装置可(例如,为了可靠性原因)反转存储于存储器胞处的数据位。在针对特定存储器胞反转一或多个数据位之后,存储器装置可设置反转位以指示存储于特定存储器胞处的逻辑状态经反转。当从存储器读取数据时,存储器装置可对数据及反转位进行错误校正且可基于对应经错误校正反转位而确定是否已反转数据位中的任何者。然而,针对反转位执行错误校正可使读取操作延迟。此外,当读取操作存取存储器的整个区段时,此延迟可由传播延迟加剧,从而将显著延时引入存储器系统中。
存储器装置可包含具有大量(例如,数百万个)存储器胞的存储器阵列且存储器阵列可被分区成离散部分。举例来说,存储器阵列可被分区成存储器区段、码字及/或存储器单元,其中存储器区段可包含多个码字,且码字可包含多个存储器单元。在一些实例中,存储器区段可对应于页面大小,码字对应于预提取大小且存储器单元可对应于预定数目个位(例如,4个位)。在存储器阵列的物理实施方案中,存储器区段可包含跨越大物理距离(例如,~1mm)的许多(例如,数千个)存储器胞。
可根据经分区存储器资源将信息存储于存储器阵列中。举例来说,特定信息(例如,用户数据)可存储于码字中。码字可分离成包含数据位的数据部分及包含控制位(例如冗余、错误检测/校正(“错误校正”)及/或反转位)的控制部分。数据位可表示用于使用存储器阵列进行存储的应用程序的数据。冗余位可用于在称为冗余修复的操作期间替换特定数据且控制位。错误校正位(例如,奇偶校验位)可用于识别已经损坏的数据及反转位。冗余及错误校正位一起可降低可在存取数据位时发生的读取错误的数目,从而增加存储器装置的可靠性。反转位可指示最初存储于存储器的第一码字中的数据、冗余及/或错误校正位是否处于经反转状态中(为了可靠性原因及类似者,可反转存储于存储器阵列中的位以节省电力)。
还可根据经分区存储器资源自存储器阵列读取信息。举例来说,可从存储器阵列请求存储于码字中的数据且将所述数据递送到请求装置(例如,另一存储器组件或外部装置)。在接收请求之后但在将包含于码字中的数据位递送到请求装置之前,存储器阵列可处理码字(例如,修复错误,翻转存储于码字中的位)。
举例来说,在读取操作期间,可如下那样通过数据组件处理码字的数据部分且可通过控制组件处理码字的控制部分。首先,可使用冗余位替换某些数据、错误校正及/或反转位。接着,可使用错误校正位以确定码字中的任何数据或反转位是否已损坏(例如,使用汉明(Hamming)码)且基于确定产生标识符字中的任何错误及此类错误的位置的校正子位。
校正子位可接着经提供(提供、传输及传达可互换地使用)到数据及控制组件且用于修整数据或反转位中的任何经识别错误。在一些情况中,在执行错误校正之前含有错误的位的分率被称为原始位错误率(RBER)且在执行错误校正之后含有错误的位的分率被称为不可校正位错误率(UBER)。
在处理校正子位之后,可将经错误校正反转位(其可被称为“翻转位”)传输到数据组件中的位翻转组件。如果翻转位指示数据位处于经反转状态中,那么可翻转经错误校正数据位(例如,使得经错误校正数据位在经提供到请求装置之前返回到其原始存储值)。否则,如果翻转位指示数据位处于原始状态中(例如,当前未经反转),那么可将经错误校正数据位直接提供到请求装置而不执行翻转操作。
如本文中提及,对码字中的至少一些(如果非全部)位—包含反转位—执行错误校正可增加将正确数据位递送到请求装置(例如,通过确保数据位正确且未经错误地翻转)的可能性,这可又增加存储器装置的可靠性。然而,在某些实例中,等待直到处理校正子位之后才发送翻转位可将延时引入存储器系统中。
在一些情况中,可响应于对于定位于存储器区段的码字中的数据的请求而将存储于所述区段中的全部数据提供到请求装置,这可导致传播延迟。如本文中论述,存储器区段可散布于跨越大物理距离(例如,足够大以通过传播延迟将延时引入存储器系统中的距离)的多个存储器胞上。在一些情况中,跨存储器区段分布控制信息(例如冗余位、错误校正位、校正子位及/或反转位)导致存储器操作的增加的延时。例如,存储器系统可在等待校正子位跨存储器区段分布时招致传播延迟。
此类传播延迟可由串行控制操作加剧。即,每当跨存储器区段提供控制信息时,可增加存储器操作的汇总传播延迟。举例来说,当跨存储器区段分布校正子位时,本文中论述的读取操作可招致第一传播延迟。且当跨存储器区段分布经错误校正反转位时可招致另一传播延迟。在此类情况中,在执行翻转操作之前对反转位执行错误校正可通过两个传播延迟的汇总而增加存储器操作的延时,从而减小存储器装置的处理能力。在一些情况中,在存储器区段中对反转位执行错误校正导致1ns的延迟。
在一些情况中,存储器操作的某些步骤可省略及/或与其它步骤并行执行。以此方式,特定步骤的传播延迟可不将延时添加到存储器操作。
举例来说,可不针对与码字相关联的反转位执行错误校正且可在错误校正期间产生的校正子位的产生或分布之前或同时将与反转位相同或基于反转位确定的翻转位提供到数据组件。以此方式,可避免与在已跨存储器区段传播对应于存储器区段中的全部码字的反转位的校正子位之后将翻转位发送到数据组件相关联的汇总传播延迟。
也就是说,在一些实例中,抑制对反转位执行错误校正可降低翻转位的可靠性。因此,将翻转位直接发送到位翻转组件可降低存储器系统的可靠性。
在一些情况中,可使用除用于对码字(例如,使用汉明码)的数据位进行错误校正的错误校正技术以外的替代错误校正技术(例如,使用重复码)来增加码字的翻转位的可靠性。以此方式,可使翻转位及(引申来说)存储器装置的可靠性维持于或高于通过使用用于数据位的相同错误校正方案对翻转位进行错误校正而获得的可靠性位准。此外,可在针对数据位执行其它错误校正技术时执行替代错误校正技术,从而缓解与等待直到已跨存储器区段分布对应校正子位之后才将存储器区段的翻转位发送到位翻转组件相关联的汇总传播延迟。
在一些实例中,可使用替代错误校正技术通过在码字中包含多个反转位而增加翻转位的可靠性。举例来说,三个或更多个反转位可包含于码字中且用于对翻转位(其还可被称为重复方案)的值“表决”。也就是说,可基于确定大多数反转位是否指示已反转码字中的数据位而产生翻转位。以此方式,翻转位失败的概率可依据包含于码字中的反转位的数目及反转位的RBER而变化。举例来说,针对使用三个反转位的此表决方案,翻转位的UBER可为单一反转位(例如,
Figure BDA0002935345270000041
)的RBER的平方的3选择2倍。此外,可在不参考数据位的情况下,且因此在数据位的校正子位经产生及/或分布遍及存储器区段之前或之时完成表决。
在另一实例中,可通过使用多个反转位及更稳健感测方案而在不进行错误校正的情况下增加翻转位的可靠性。举例来说,可使用差分感测方案读取存储于两个存储器胞中的两个反转位。且在处理码字之前,可感测两个存储器胞以产生可接着用作或用于产生翻转位的单一高可靠性反转位。在一些情况中,基于差分感测方案针对码字产生的翻转位的RBER可等于或高于码字的数据位的UBER。
在一些实例中,可通过使用每一码字的单一反转位及反转位的更稳健存储方案(例如,通过增加反转位的可靠性)而在不进行错误校正的情况下增加翻转位的可靠性。例如归因于存储器胞的化学组合物、存储器胞的大小、用于存储器胞的技术,举例来说,反转位可存储于具有较大感测窗的存储器胞中。且在处理码字时,可感测存储器胞以产生可接着用作或用于产生翻转位的高可靠性反转位。在一些情况中,基于存储于稳健存储方案中的反转位针对码字产生的翻转位的RBER可等于或高于码字的数据位的UBER。在一些实例中,用于增加翻转位的可靠性的技术可延伸到其它控制位(例如错误校正或冗余位或两者)以及其它实例。
本文中在存储器系统的背景内容中进一步描述上文介绍的本发明的特征。接着描述用于根据加强型位翻转方案读取码字的装置及方法的特定实例。通过与加强型位翻转方案相关的设备图、系统图及流程图进一步说明且参考所述设备图、系统图及流程图描述本发明的这些及其它特征。
图1说明根据本发明的各个实施例的支持加强型位翻转方案的示范性存储器阵列。存储器阵列100可用于存储数字信息(例如,二进制信息)且还可被称为电子存储器设备。存储器阵列100包含可编程以存储不同状态的存储器胞105。每一存储器胞105可编程以存储表示为逻辑0及逻辑1的两个状态。在一些情况中,存储器胞105经配置以存储两个以上逻辑状态。
存储器胞105可包含具有可编程状态的存储器元件。DRAM或FeRAM架构中的存储器胞105可存储表示电容器中的可编程状态的电荷;举例来说,带电电容器及不带电电容器可分别表示两个逻辑状态。DRAM架构可普遍使用此设计且可使用包含电介质材料且具有线性电极化性质的电容器作为存储器元件。FeRAM架构还可使用此设计,但用作存储器元件的电容器可包含具有非线性极化性质的铁电材料。在PCM或基于分离的存储器(SBM)架构中的存储器胞105可改变材料的电阻率(例如,电阻或阈值电压),其中不同电阻率可表示不同逻辑状态。PCM及/或SBM架构可使用具有可电子编程电阻的硫化物材料作为存储器元件。在一些情况中,通过改变存储器材料的相位而编程PCM架构中的存储器胞105。在一些情况中,通过引起存储器材料内的离子移动而编程SBM架构中的存储器胞105。
可通过激活或选择适当存取线110及数字线115而对存储器胞105执行例如读取及写入的操作。存取线110还可被称为字线110且数字线115还可被称为位线115。激活或选择字线110或数字线115可包含将电压施加到相应线。字线110及数字线115由导电材料制成。举例来说,字线110及数字线115可由金属(例如铜、铝、金、钨等)、金属合金、其它导电材料或类似者制成。根据图1的实例,存储器胞105的各列连接到单一字线110,且存储器胞105的各行连接到单一数字线115。通过激活一个字线110及一个数字线115(例如,将电压施加到字线110或数字线115),可存取在其相交点处的单一存储器胞105。存取存储器胞105可包含读取或写入存储器胞105。字线110及数字线115的相交点可被称为存储器胞的地址。
在一些架构中,胞(例如,电容器)的逻辑存储装置可通过选择组件而与数字线电隔离。字线110可连接到且可控制选择组件。举例来说,选择组件可为晶体管且字线110可连接到所述晶体管的栅极。激活字线110导致存储器胞105的电容器与其对应数字线115之间的电连接或封闭电路。接着可存取数字线以读取或写入存储器胞105。
可通过行解码器120及列解码器130控制存取存储器胞105。在一些实例中,行解码器120从存储器控制器140接收行地址且基于经接收行地址而激活适当字线110。类似地,列解码器130从存储器控制器140接收列地址且激活适当数字线115。举例来说,存储器阵列100可包含标记为WL_1到WL_M的多个字线110及标记为DL_1到DL_N的多个数字线115,其中M及N取决于阵列大小。因此,通过激活字线110及数字线115(例如,WL_3及DL_N),可存取在其相交点处的存储器胞105。
在存取之后,可通过感测组件125读取或感测存储器胞105以确定存储器胞105的经存储状态。举例来说,在存取存储器胞105之后,存储器胞105的电容器可放电到其对应数字线115上。使电容器放电可为基于加偏压于或施加电压到电容器。放电可包含数字线115的电压的改变,感测组件125可比较所述电压与参考电压(未展示)以便确定存储器胞105的经存储状态。举例来说,如果数字线115具有高于参考电压的电压,那么感测组件125可确定存储器胞105中的经存储状态是逻辑1且反之亦然。
感测操作的可靠性可取决于源自读取存储器胞105的感测窗。例如,相较于较小感测窗,较大感测窗可与较少位错误相关联。可将感测窗确定为在存储逻辑1时源自读取存储器胞105的数字线115的电压与在存储逻辑0时源自读取存储器胞的数字线115的电压之间的差异。感测组件125可包含各种晶体管或放大器以便检测且放大信号中的差异(其可被称为锁存)。接着可通过列解码器130输出存储器胞105的经检测逻辑状态作为输出135。
可通过激活相关字线110及数字线115而设置或写入存储器胞105。如本文中论述,激活字线110将存储器胞105的对应行电连接到其相应数字线115。通过在激活字线110时控制相关数字线115,可写入存储器胞105-例如,可将逻辑值存储于存储器胞105中。列解码器130可接受待写入到存储器胞105的数据(例如,输入135)。
存储器控制器140可通过各种组件(例如行解码器120、列解码器130及感测组件125)控制存储器胞105的操作(例如,读取、写入、重写、刷新等)。存储器控制器140可产生行地址信号及列地址信号以便激活所要字线110及数字线115。存储器控制器140还可产生且控制在存储器阵列100的操作期间使用的各种电压电势。一般来说,本文中论述的经施加电压的振幅、形状或持续时间可经调整或变化且针对用于操作存储器阵列100的各种操作可为不同的。此外,可同时存取存储器阵列100内的一个、多个或全部存储器胞105;举例来说,可在其中将全部存储器胞105或存储器胞105的群组设置为单一逻辑状态的复位操作期间同时存取存储器阵列100的多个或全部胞。
在一些情况中,存储器阵列100可翻转存储器胞105的逻辑状态-例如,将存储于存储器胞105中的逻辑值从一个值(例如,逻辑1)改变为另一逻辑值(逻辑0)。存储器阵列100可在内部执行翻转且可不对其它外部装置或组件通知存储器胞的逻辑状态已翻转。存储器阵列100可翻转存储器胞以节省电力以增加装置的可靠性或类似者。举例来说,针对FeRAM,可翻转铁电存储器胞以缓解压印的效应(例如,归因于长时间暴露到或存储相同电荷的铁电域的漂移),这可随时间降低存储器胞的可靠性。存储不同于原始逻辑状态(例如,预期通过外部装置或组件存储于存储器胞处的逻辑状态)的逻辑状态的存储器胞105可被称为处于经反转状态中。
在一些情况中,将存储器阵列100分区成存储器胞组。举例来说,可将存储器阵列100分区成可包含数千个存储器胞105的存储器区段。可将存储器区段进一步分区成可包含数百个存储器胞105的码字。且可将码字分区成可包含个位数个存储器胞105的存储器单元,例如,存储器单元可包含四个存储器胞105。
在一些实例中,存储于存储器阵列100中的信息可由另一装置(例如,存储器组件,例如缓冲器或外部处理器)请求。存储器阵列100可识别信息在存储器阵列100内的位置。在一些情况中,存储器阵列100可确定信息定位于码字内,所述码字定位于存储器的特定区段内。在一些实例中,存储器阵列100可基于识别存储器区段包含码字而存取整个存储器区段且可将存储于存储器区段中的全部信息提供到请求装置。
然而,在将存储于存储器区段中的信息提供到请求装置之前,存储器阵列100可首先处理信息,针对存储于存储器区段中的信息位执行冗余修复及错误校正。存储器阵列100还可确定存储器区段中的码字中的任何者是否处于经反转状态中且翻转码字的位以使数据位返回到由请求装置预期的存储状态。
在错误校正期间,存储器阵列100可产生校正子位,所述校正子位可用于指示某些存储器胞是否正存储经损坏数据且可将存储于经损坏存储器胞中的数据翻转到正确值。在一些情况中,可在错误校正期间未识别错误且全部经产生校正子位具有逻辑值0。在一些情况中,校正子位遍及存储器区段的递送可与传播延迟(例如,归因于存储器区段的物理大小及/或串行数据递送)相关联。为了翻转码字的位,可将码字的反转/翻转位提供到位翻转组件,所述位翻转组件可翻转码字的数据位(例如,如果反转位指示数据位处于经反转状态中)。在一些情况中,反转位可与翻转位相同或用于产生翻转位。
在一些情况中,存储器阵列100可针对包含对应反转位的整个码字执行错误校正。因此,存储器阵列100可等待直到已接收校正子位之后才将翻转位提供到位翻转组件。然而,等待直到接收校正子位之后才发送翻转位可增加存储器系统的延时。此外,举例来说,由于可不将存储于存储器区段中的信息提供到请求装置直到已完成处理整个区段之后,因此在提供并递送翻转位遍及存储器区段时可进一步增加延时。
存储器阵列100可抑制对码字的反转位执行错误校正且可在错误校正的同时(即,至少部分与错误校正重叠)将翻转位提供到位翻转组件。在一些实例中,存储器阵列100可在码字中包含多个反转位且可基于由反转位存储的值产生翻转位。
存储器阵列100还可在使用一个错误校正技术(例如,使用重复码)的翻转位的错误校正/产生的同时使用不同错误校正技术(例如,使用汉明码)执行码字的数据位的错误校正。在一些情况中,在数据位的错误校正期间,翻转位的产生/错误校正可与校正子位的产生或分布(例如,全部校正子位到存储器区段的不同位置的传输)重叠。在对翻转位进行错误校正/产生翻转位之后,存储器阵列100可将翻转位传达(例如,传输、发送、提供等)到其中可基于翻转位的值翻转数据位的位翻转组件。以此方式,可针对存储器阵列100降低延时且可缓解汇总传播延迟的效应。
在一些情况中,存储器阵列100可使用表决方案及多个反转位产生翻转位/对翻转位进行错误校正。表决方案可为一种类型的错误校正方案。举例来说,存储器阵列100可针对包含多个反转位的码字确定大多数反转位是否指示码字中的数据位处于经翻转状态中。存储器阵列100可基于确定至少一些(例如,大多数或全部)的数据位是否指示码字处于经反转状态中而产生翻转位,举例来说,如果大多数数据位指示码字处于经反转状态中,那么存储器阵列100可产生指示数据位待翻转的翻转位。存储器阵列100可接着将翻转位传输到位翻转组件。可针对反转位使用不同于码字的数据位的错误校正方案增加翻转位的可靠性。在一些情况中,在码字的数据位的错误校正期间,可在校正子位的产生及/或分布的同时产生通过表决方案输出的翻转位及/或将通过表决方案输出的翻转位提供到位翻转组件。
在一些情况中,存储器阵列100可使用差分感测方案存储码字的两个反转位以产生码字的翻转位。差分感测方案可用于产生具有高于存储器阵列100中的个别反转位及经校正信息位的可靠性的单一反转位。单一反转位可接着用作或用于产生翻转位。此方案可增加翻转位的可靠性而无需对反转/翻转位进行错误校正且可用于在校正子位的产生及/或分布的同时将翻转位提供到位翻转组件。
在一些情况中,存储器阵列100可将码字的单一反转位存储于具有大于存储器阵列100中的其它存储器胞的感测窗的存储器胞中。举例来说,反转位可存储于存储器胞中,所述存储器胞具有大于存储器阵列100中的其它存储器胞的大小、使用不同于存储器阵列中的其它存储器胞的技术及类似者。单一反转位可具有高于存储器阵列100中的经校正信息位的可靠性且可用作或用于产生翻转位。此方案可增加翻转位的可靠性而无需对反转/翻转位进行错误校正且可在校正子位的产生及/或分布的同时将翻转位提供到位翻转组件。
图2说明根据本发明的各个方面的支持加强型位翻转方案的示范性读取组件。读取组件200可用于处理存储于存储器阵列中的信息。读取组件200可包含输入线(数据位线205、冗余位线210、错误校正位线215及反转位线220)、数据组件225、控制组件230、错误识别组件235、输出线(全局数据线240)及稳健感测组件275。
数据位线205可经配置以在存储数据的存储器胞与数据组件225之间传达一或多个码字的数据位。数据位可表示用户应用程序的数据。冗余位线210可用于在存储冗余数据位的存储器胞与数据组件225之间且在存储冗余数据控制位的存储器胞与控制组件230之间传达冗余位。冗余位可对应于且可用于替换某些数据及/或控制位。在一些情况中,冗余位存储于具有高于其它存储器胞的可靠性的存储器胞中。
错误校正位线215可用于在存储错误校正位的存储器胞与控制组件230之间传达错误校正位(例如奇偶校验位)。错误校正位可用于识别数据及/或控制位中的错误。反转位线220可用于在存储反转位的存储器胞与控制组件230之间传达指示数据位是否处于经反转状态中的反转位。码字的反转位可用于指示码字的对应数据及/或控制位是否是处于原始/预期状态或经反转状态中。
数据组件225可经配置以处理存储于一或多个码字中的数据位且将经处理数据位递送到请求装置。数据组件225可从数据位线205接收数据位。数据组件225可包含第一位修复组件245、位校正组件250及位翻转组件255。
第一位修复组件245可经配置以使用对应冗余数据位替换特定数据位。第一位修复组件245可从数据位线205接收数据位且从冗余位线210接收冗余数据位。第一位修复组件245可在可被称为冗余修复的程序期间使用经接收冗余位的特定冗余数据位替换经接收数据位的特定数据位。第一位修复组件245可包含经配置以替换数据位的子集的第一多路复用器及用于存储经冗余修复数据位的锁存器。第一多路复用器的输出可与位校正组件250及/或错误识别组件235耦合。第一位修复组件245可将经冗余修复数据位传输到位校正组件250及/或错误识别组件235。
位校正组件250可经配置以校正已被识别为经损坏的数据位。位校正组件250可包含用于校正经损坏位的组件及用于处理校正子位的组件(例如校正子解码器)。位校正组件250可从第一位修复组件245接收数据位(例如,经冗余修复数据位)。
位校正组件250还可从错误识别组件235接收校正子位。校正子位可识别已失效(例如,已损坏)的经冗余修复数据位的数据位。位校正组件250可接着校正由校正子位识别的数据位中的错误。在一些情况中,位校正组件250基于校正子位识别已经识别为失效(例如,经损坏)的特定数据位且(例如,使用XOR电路)翻转数据位的逻辑值。在一些情况中,位校正组件250基于校正子位(例如,当校正子位全部为逻辑0时)确定数据位未损坏。在处理校正子位之后,位校正组件250可将经校正数据位传输到位翻转组件255。
位翻转组件255可经配置以基于经接收翻转位将经校正数据位从经反转状态翻转到原始状态。位翻转组件255可从位校正组件250接收经校正数据位。位翻转组件255还可从翻转位产生器270接收翻转位。位翻转组件255可基于翻转位的值而将经校正数据位从经反转状态翻转。举例来说,如果翻转位的值是逻辑1,那么位翻转器可翻转经校正数据位。翻转经校正数据位可包含通过引起数据位的值改变到相反值(例如,从逻辑0到逻辑1)的XOR组件传输经校正数据位。
如果存储于存储器胞中的数据位在提供到数据组件225之前经翻转(例如,为了可靠性原因置于经反转状态中),那么位翻转组件255可基于接收触发位翻转组件255翻转经校正数据位的翻转位而翻转经校正数据位。如果存储于存储器胞中的数据位在提供到数据组件225之前未经翻转,那么位翻转组件255可基于接收不触发位翻转组件255以翻转经校正数据位的翻转位而抑制翻转经校正数据位。在一些情况中,位翻转组件可经配置以在已校正数据位中的错误之后翻转数据位。在一些情况中,如果翻转位经损坏,那么位翻转组件255可不恰当地翻转或未能翻转经校正数据位。位翻转组件255可产生全局数据位(其可用于指代已由读取组件200完全处理且经提供到请求装置的数据位)且可经由全局数据线240将全局数据位传输到请求装置。
控制组件230可经配置以处理存储于一或多个码字中的控制位且辅助数据组件225处理一或多个码字的数据位。控制组件230可包含第二位修复组件260、第三位修复组件265及翻转位产生器270。
类似于第一位修复组件245,第二位修复组件260可经配置以使用对应冗余错误校正位替换特定错误校正位。第二位修复组件260可从错误校正位线215接收错误校正位且从冗余位线210接收冗余错误校正位。在一些情况中,第二位修复组件260可不在冗余位线210上接收任何冗余错误校正位。第二位修复组件260可包含经配置以替换错误校正位的子集的第二多路复用器及用于存储经冗余修复错误校正位的锁存器。第二位修复组件260可将经冗余修复错误校正位传输到错误识别组件235。
类似于第一位修复组件245及第二位修复组件260,第三位修复组件265可经配置以使用对应冗余反转位替换特定反转位。第三位修复组件265可从反转位线220接收反转位且从冗余位线210接收冗余反转位。在一些情况中,第三位修复组件265可不在冗余位线210上接收任何冗余反转位。第三位修复组件265可包含经配置以替换反转位的子集的第三多路复用器及用于存储经冗余修复反转位的锁存器。第三位修复组件265可将经冗余修复反转位传输到错误识别组件235。在一些情况中,第三位修复组件265经由反转位线220接收多个反转位且将多个经冗余修复反转位传输到翻转位产生器270。在一些情况中,第二及第三多路复用器可实施为经配置以替换控制位的子集的单一多路复用器。
翻转位产生器270可经配置以确定数据位是否处于经反转状态中且产生指示是否应将码字的数据位在提供到请求装置之前从经反转状态翻转回到原始/预期状态的码字的翻转位。翻转位产生器270可基于从位修复组件265接收的经冗余修复反转位而产生翻转位。在一些情况中,翻转位产生器270可(例如,使用重复码,例如表决方案)实施不同于由错误识别组件235实施的错误校正技术的替代错误校正技术。
举例来说,当多个反转位用于码字时,翻转位产生器270可包含表决组件,所述表决组件可用于确定至少一些(例如,大多数或全部)反转位是否指示码字中的对应数据位处于经反转状态中或替代地,反转位是否指示码字中的对应数据位不在经反转状态中。
举例来说,如果大多数反转位指示对应数据位处于经反转状态中,那么翻转位产生器270可产生触发位翻转组件255翻转经校正数据位的翻转位。否则,如果大多数反转位指示对应数据位不在经反转状态中(例如,在未经反转、原始存储状态中),那么翻转位产生器270可产生引导位翻转组件255抑制翻转经校正数据位的翻转位。在一些情况中,表决组件可在通过错误识别组件235识别数据位中的错误的同时,确定大多数反转位是否指示对应数据位处于经反转状态中。表决组件可与错误识别组件235电隔离。在本文中且至少参考图6及7更详细论述表决组件。
另外或替代地,当多个反转位用于码字时,在使用数据组件225或控制组件230处理码字之前且在不针对反转位采用错误校正技术的情况下,可使用稳健感测组件275以从码字的多个反转位产生单一高可靠性反转/翻转位。举例来说,稳健感测组件275可为差分感测组件。在此类情况中,可使用稳健感测组件275一起感测存储于两个存储器胞中的码字的两个反转位以产生单一高可靠性反转位(例如,具有大于或等于存储器系统中的信息位的UBER的RBER的反转位)。在本文中且至少参考图5更详细论述差分感测组件。可接着将高可靠性反转位提供到第三位修复组件265。当使用稳健感测组件275时,翻转位产生器270可包含将高可靠性反转位路由到位翻转组件255的开关或导线,举例来说,经产生高可靠性反转位可用作翻转位。
当单一反转位用于码字时,在使用数据组件225或控制组件230处理码字之前且在不针对反转位采用错误校正技术的情况下,可使用更稳健存储器胞以产生单一高可靠性反转/翻转位。在一些情况中,单一反转位存储于比存储器阵列中的其它存储器胞具有产生错误数据的更低可能性(例如,RBER<=1e-18)的稳健存储器胞中。举例来说,存储器胞可经建构以具有大于其它存储器胞的感测窗,可使用不同存储器技术(例如,DRAM而非FeRAM)及类似者。当使用单一存储器胞(例如,稳健存储器胞)以存储码字的反转位时,翻转位及反转位可相同且翻转位产生器270可包含将反转/翻转位路由到位翻转组件255的开关或导线,例如,在一些情况中,反转位可用作翻转位。
翻转位产生器270可将经产生翻转位传输到位翻转组件255。可在错误识别组件235产生及/或传输校正子位时将翻转位传输到位翻转组件255,举例来说,位翻转组件255可在将校正子位传输到位校正组件250之前或之时将翻转位传输到位翻转组件255。在一些情况中,翻转位产生器270可经由位翻转组件255与错误识别组件235电子隔离。即,错误识别组件235的输出可不影响翻转位产生器270的输出,或翻转位的产生可独立于或不参考校正子位的产生而执行。
错误识别组件235可经配置以识别从第一位修复组件245接收的数据位中的错误。在一些情况中,错误识别组件235可基于从位修复组件260接收的错误校正位(例如,使用汉明码)识别数据位中的错误。错误识别组件235可基于数据及错误校正位产生校正子位且可将校正子位传输到位校正组件250。错误识别组件235可以串行或并行方式将校正子位传输到位校正组件250。将整个存储器区段的校正子位提供到位校正组件250可与传播延迟相关联。
全局数据线240可经配置以将已通过读取组件200处理的数据位(“全局数据位”)传输到请求装置。
在一些情况中,第一位修复组件245、位校正组件250、位翻转组件255、第二位修复组件260、位修复组件265及翻转位产生器270可各自实施为整个存储器区段的单一组件。在其它情况中,第一位修复组件245、位校正组件250、位翻转组件255、第二位修复组件260、位修复组件265及翻转位产生器270可各自实施为整个存储器区段的每一码字的多个组件。举例来说,包含多个存储器区段的读取组件200可包含一或多个第一位修复组件245、一或多个位校正组件250、一或多个位翻转组件255、一或多个第二位修复组件260、一或多个位修复组件265及一或多个翻转位产生器270。
图3说明根据本发明的各个方面的使用加强型位翻转方案的示范性存储器操作的方面。作为一个实例,流程图300说明根据加强型位翻转方案操作一或多个存储器组件(例如图2的读取组件200)的方面。
如本文中描述,执行取决于码字的数据位的码字的反转位的错误校正可将延时引入存储器系统中。此外,归因于传播延迟,当从整个存储器区段读取信息时,此延时可加剧。为了降低此延时,存储器系统可抑制针对码字的反转位执行错误校正且可与码字的数据位的错误校正并行产生反转位。可在流程图300的背景内容中论述用于降低延时的实例。
在框305处,存储器系统可将信息位存储于存储器阵列中(例如)以用于用户应用程序。存储信息位可包含将数据位及对应控制位存储于一或多个存储器区段的码字中。在一些情况中,控制位可包含冗余位、错误校正位(例如,奇偶校验位)及/或反转位。
在框310处,举例来说,为了可靠性原因,存储器系统可翻转存储器区段的一或多个码字的信息位。翻转数据位可包含将数据及控制位从原始存储值(例如,框305处存储的值)翻转到不同值(例如,相反值-逻辑0到逻辑1)或将数据及控制位从不同值翻转回到原始存储值。已经翻转以存储相反值的数据及控制位可被称为处于经反转状态中。在翻转信息位之后,存储器系统可设置指示码字的数据及/或控制位是否处于经反转状态中的码字的一或多个反转位。
举例来说,具有逻辑值1的码字的反转位可指示码字处于经反转状态中且具有逻辑值0的码字的反转位可指示码字处于原始/预期状态中。在一些情况中,翻转可在存储器系统内部执行且因此,用户应用程序及其它存储器组件可不了解存储于码字中的信息已从原始存储的信息改变。因此,存储器系统可在将存储于码字中的信息递送到请求装置之前,对请求装置指示哪一经传输数据已经反转或使经反转信息位返回到其原始状态。
在框315处,存储器系统可(例如)从用户应用程序或另一存储器组件接收对于存储于一或多个码字中的数据的请求。响应于数据请求,存储器系统可存取整个存储器区段。即,存储器系统可感测存储于存储器区段中的每一存储器胞中的逻辑状态。可接着将经感测逻辑状态作为对应信息位传输到可处理信息位的读取组件200。信息位可包含一或多个码字的数据及控制位。如本文中论述,读取组件200可单独处理存储器区段的每一码字的数据及控制位。框320到350说明此码字处理的方面。
在框320处,读取组件200可在被称为冗余修复的程序期间针对每一码字(例如,在第一位修复组件245、第二位修复组件260及第三位修复组件265处)使用冗余位替换特定数据及控制位。可将经修复数据位传输到错误校正电路,例如错误识别组件235及位校正组件250。可将经修复控制位传输到错误识别组件235及翻转位产生器270。在一些情况中,冗余修复的持续时间包含在其期间冗余位跨存储器区段传播的时间。
在框325处,错误识别组件235可针对每一码字执行错误校正。在错误校正期间,错误识别组件235可产生识别哪些数据位(如果有)经损坏的码字的数据位的校正子位。在一些情况中,基于码字的数据位、错误校正位及/或反转位产生校正子位。位校正组件250可接收校正子位且(例如)通过翻转经识别数据位的逻辑值而校正已被识别为经损坏的任何数据位。
在产生每一码字的校正子位之后,错误识别组件235可将校正子位发送到数据组件225。发送存储器区段的每一码字的校正子位可由传播延迟(例如,归因于存储器区段的物理大小)及处理延迟(例如,尤其在校正子位经连续处理的情况下)减慢。读取组件200可抑制产生码字的反转位的校正子位以避免引入在将每一码字的校正子位分布到控制组件230时招致的传播延迟。在一些情况中,可在产生码字的翻转位时或之后产生码字的数据位的校正子位。在一些情况中,错误识别组件235可在将翻转位传输到位翻转组件255之后将校正子位传输到位校正组件250。
在框330处,翻转位产生器270可基于每一码字的反转位的值产生每一码字的翻转位。在一些情况中,同时执行翻转位的产生及在框325处论述的错误校正的方面。举例来说,可与校正子位同时或在将校正子位递送到数据组件225时产生翻转位。翻转位产生器270可将每一码字的翻转位传输到位翻转组件255。在一些情况中,可在已将校正子位的至少一部分递送到位校正组件250之前将翻转位传输到位翻转组件255。在一些情况中,可在将经校正数据位的至少一部分从位校正组件250传输到位翻转组件255之前将翻转位传输到位翻转组件255。以此方式,可缓解通过传输校正子位招致的传播延迟且可增加数据位的处理速度,举例来说,可将框320到350的总处理时间从5ns降低到4ns。
在框350处,位翻转组件255可接收一或多个码字的经校正数据位及翻转位且可基于对应翻转位的值翻转码字的经校正数据位的值。举例来说,位翻转组件255可接收码字的经校正数据位及翻转位,所述翻转位(例如)基于确定翻转位的值是逻辑1而指示存储于码字中的数据位处于经反转状态中。
在一些情况中,翻转位可基于翻转位产生器270确定码字的至少一些(例如,大多数或全部)翻转位指示数据位处于经反转状态中而指示数据位处于经反转状态中。因此,位翻转组件255可翻转经校正数据位以使数据位返回到其原始存储值。位翻转组件255可接着将经翻转数据位(或“全局数据位”)传输到请求装置(例如存储器缓冲器)。
替代地,位翻转组件255可接收码字的经校正数据位及翻转位,所述翻转位(例如)基于确定翻转位的值是逻辑0而指示存储于码字中的数据位处于原始状态中。在一些情况中,翻转位基于翻转位产生器270确定码字的数个(例如,少数)翻转位指示数据位处于经反转状态中而指示数据位不在经反转状态中。因此,位翻转组件255可将经校正数据位直接传输到请求装置而无需翻转经校正数据位。
如本文中论述,例如,归因于使用经损坏反转位以产生翻转位,使用未经错误校正的翻转位可导致非预期翻转操作。为了增加翻转位的可靠性同时仍降低延时,存储器系统可采用替代错误校正技术及/或除了错误校正之外的技术。可在框350的背景内容中论述用于增加可靠性的实例。
当多个反转位用于码字时,翻转位产生器270可通过采用表决电路而执行反转位的替代错误校正(如参考图6及7更详细论述)以确定大多数反转位是否指示码字的信息处于经反转状态中。例如,翻转位产生器270可通过凭借比较由每一反转位存储的值而确定码字的大多数反转位指示数据位处于经反转状态中来确定码字的数据位处于经反转状态中。或翻转位产生器270可通过凭借比较由每一反转位存储的值而确定码字的少数反转位指示数据位处于经反转状态中来确定码字的数据位处于原始状态中。使用多个反转位产生翻转位可增加依据所使用的反转位的数目而变化的翻转位的UBER。
在一些实例中,与码字的翻转位相关联的第一错误率可等于或大于与码字的数据位相关联的第二错误率。举例来说,使用表决方案产生的码字的翻转位的UBER可等于或大于码字的数据位的UBER。举例来说,针对包含三个反转位的码字,翻转位的UBER可为存储于存储器系统中的一个别信息位的RBER2的3选择2倍,举例来说,单一未经校正信息位的RBER可为1e-10且翻转位的UBER可为3e-20。
另外或替代地,当多个反转位用于码字时,读取组件200可采用稳健感测方案以产生可用作翻转位的单一高可靠性反转位而无需执行反转位的错误校正。由稳健感测方案产生的反转位的可靠性(例如,反转位的RBER)可高于存储器装置中的经错误校正信息位的可靠性(例如,经错误校正信息位的UBER)。参考图5更详细论述稳健感测方案。
当单一反转位用于码字时,读取组件200可将单一反转位存储于稳健存储器胞中且使用单一高可靠性反转位作为翻转位而无需执行反转位的错误校正。在一些情况中,反转位的可靠性(例如,反转位的RBER)可高于存储器装置中的经错误校正信息位的可靠性(例如,经错误校正信息位的UBER)。上文的技术中的每一者可用于产生具有与使用错误校正技术产生翻转位相等或比使用错误校正技术产生翻转位更好的可靠性的翻转位。
当每一码字使用单一反转位时,产生码字的翻转位可包含通过翻转位产生器270复制反转位的值或传输反转位。当每一码字使用多个反转位时,产生码字的翻转位可包含基于多个反转位的值而计算翻转位的值。替代地,当每一码字使用多个反转位以产生单一高可靠性反转位时,产生码字的翻转位可包含通过翻转位产生器270复制反转位的值或传输反转位。
在一些情况中,存储器系统可在产生翻转位的同时针对数据位执行错误校正且使用替代错误校正/其它技术以增加翻转位的可靠性。以此方式,可有利地维持存储器装置的可靠性同时还增加存储器装置的处理能力。
图4说明根据本发明的各个方面的加强型位翻转方案的示范性存储器配置。存储器配置400可用于存储数字信息。存储器配置400可包含存储器区段(例如存储器区段405)、码字(例如码字410)及存储器单元(例如存储器单元425)。
存储器区段405可涵盖存储于数百个或数千个存储器胞中的信息。在一些情况中,存储器胞可跨越大物理距离(例如,~1mm)。在一些情况中,存储器区段405对应于存储器的页面(例如,1024个位)且包含多个码字(例如,8个码字)(包含码字410)。
码字410可涵盖数百个存储器胞。在一些情况中,码字410对应于预提取大小(例如,128个位)且包含数据部分415及控制部分420。数据部分415可存储数据位(例如应用程序数据)。控制部分420可存储控制位,例如冗余位、错误校正位及反转位。控制位可用于促进处理且增加存储于数据部分415中的数据位的可靠性。数据部分415及控制部分420可进一步被分区成存储器单元。存储器单元(例如存储器单元425)可涵盖少数(例如,2、4或8个)存储器胞。在一些情况中,存储器单元425可对应于数个位。
在一些情况中,当另一装置请求存储于码字410中的数据时,存取存储器区段405的全部。在一些情况中,在存储器操作期间,(例如)归因于存储器区段405中的存储器胞的大物理距离,存取存储器区段405的全部导致传播延迟。
如本文中论述,当连续执行操作的处理步骤时,这些传播延迟可加剧,且为了降低传播延迟,存储器系统可并行执行某些步骤,例如码字的翻转位的产生及数据位的错误校正。
如本文中还论述,为了使用替代错误校正技术增加经产生翻转位的可靠性,存储器系统可每一码字利用多个反转位。在一些实例中,多个反转位可存储于控制部分420中。举例来说,三个反转位可连同九个错误校正位及十二个冗余位一起存储于控制部分420中。在另一实例中,两个反转位可连同九个错误校正位、十二个冗余位及一个未使用位一起存储于控制部分420中。
图5说明根据本发明的各个方面的加强型位翻转方案的示范性稳健感测组件。稳健感测方案500可用于基于多个反转位而产生单一高可靠性反转位且可为图2的稳健感测组件275的实例。稳健感测方案500可包含第一输入线505、第二输入线510、差分感测组件515及输出线520。
第一输入线505可用于将存储于第一存储器胞处的逻辑状态传达到差分感测组件515。第一输入线505可为导电迹线或无线通信路径。
第二输入线510可用于将存储于第二存储器胞处的逻辑状态传达到差分感测组件515。第二输入线510可为导电迹线或无线通信路径。
差分感测组件515可用于从存储于第一及第二存储器胞中的逻辑值产生单一高可靠性位。在一些情况中,第一存储器胞可用于存储码字的第一反转位的值且第二存储器胞可用于存储码字的第二反转位的值。第一及第二反转位的逻辑值可相同。第一存储器胞可在第一方向上极化且第二存储器胞可在第二方向上极化。使用此方案可使集体存储器胞的感测窗加倍且可不使用感测电压。当经感测时,存储器胞可基于经存储反转位而产生高及低电压,且可将各电压施加到差分放大器,从而产生单一较高可靠性反转位。
输出线520可用于将由差分感测组件515产生的高可靠性反转位传达到读取组件。在一些情况中,高可靠性反转位可用于产生或作为翻转位。输出线520可为导电迹线或无线通信路径。
图6说明根据本发明的各个方面的加强型位翻转方案的示范性翻转位产生器。翻转位产生器600可用于基于多个反转位而产生翻转位且可为图2的翻转位产生器270的实例。翻转位产生器600可包含输入线605、表决组件610及输出线615。
输入线605可用于将码字的多个反转位的值传达到表决组件610。输入线605可为导电迹线或无线通信路径。在一些情况中,输入线605可包含三个或三个以上输入线。在一些情况中,输入线605可为单一输入线且可以串行方式将多个反转位递送到表决组件610。
表决组件610可用于实施错误校正方案且确定至少一些(例如,大多数或全部)反转位是否指示码字的数据位处于经反转状态或原始状态中。表决组件610还可增加依据反转位的数目而变化的翻转位的可靠性。举例来说,针对三个反转位,翻转位的可靠性可为RBER2的3选择2倍;针对四个反转位,翻转位的可靠性可为RBER3的4选择3倍;且针对五个反转位,翻转位的可靠性可为RBER3的6选择3倍。
在一些实例中,表决组件610可(例如)基于两个反转位中的每一者的值是逻辑1而识别三个反转位的两者指示码字的数据位处于经反转状态中,且可产生触发位翻转组件以翻转数据位的翻转位,举例来说,表决组件610可确定数据位处于经反转状态中。替代地,表决组件610可识别三个反转位中的一者指示码字的数据位处于经反转状态中,且可产生不触发位翻转组件以翻转数据位的翻转位,例如,表决组件610可确定数据位处于原始状态中。
输出线615可用于将经产生翻转位传达到位翻转组件(例如如参考图2论述的位翻转组件255)。输出线615可为导电迹线或无线通信路径。
图7说明根据本发明的各个方面的加强型位翻转方案的示范性表决电路。表决电路700可用于实施错误校正方案。在一些实例中,表决电路700可用于使用三个反转位产生翻转位且可为图6的表决组件610的实例。表决电路700可包含第一电压源705、第二电压源710、第三电压源715、第四电压源720、第五电压源740、第六电压源745、第七电压源750、第八电压源755、第一输入线725、第二输入线730、第三输入线735、输出线760、p型晶体管765及n型晶体管770。
第一电压源705、第二电压源710、第三电压源715及第四电压源720可对表决电路700供应高电压(例如,正电压)。在一些情况中,第一电压源705、第二电压源710、第三电压源715及第四电压源720是使用单一电压源实施,举例来说,第一电压源705、第二电压源710、第三电压源715及第四电压源720中的每一者可连结到高电源轨(例如,3.3V轨)。
第五电压源740、第六电压源745、第七电压源750及第八电压源755可对表决电路700供应低电压(例如,虚拟接地或正电压)。在一些情况中,第五电压源740、第六电压源745、第七电压源750及第八电压源755是使用单一电压源实施,举例来说,第五电压源740、第六电压源745、第七电压源750及第八电压源755中的每一者可连结到虚拟接地。
第一输入线725可用于将第一反转位的值传达到表决电路700。第一输入线725可连接到多个p型晶体管765及多个n型晶体管770。
第二输入线730可用于将第二反转位的值传达到表决电路700。第二输入线730可连接到多个p型晶体管765及多个n型晶体管770。
第三输入线735可用于将第三反转位的值传达到表决电路700。第三输入线735可连接到多个p型晶体管765及多个n型晶体管770。
表决电路700可产生对应于经提供到表决电路700的大多数反转位的值的输出值。也就是说,表决电路可产生具有与由三个反转位的至少两者保持的值相同的值的输出。
举例来说,如果对应于第一输入线725的第一反转位具有对应于逻辑值1的高电压(例如,3V),对应于第二输入线730的第二反转位具有对应于逻辑值0的低电压,对应于第三输入线735的第三反转位具有对应于逻辑值1的高电压,那么表决电路700可产生具有高电压(例如,3.3V)的输出。或,如果对应于第一输入线725的第一反转位具有对应于逻辑值0的低电压(例如,0V),对应于第二输入线730的第二反转位具有对应于逻辑值0的低电压,且对应于第三输入线735的第三反转位具有对应于逻辑值1的高电压,那么表决电路700可产生具有低电压(例如,0V)的输出。
输出线760可用于将表决电路700的输出值传达到例如位翻转组件的另一组件。在一些情况中,由表决电路700产生的输出值可与翻转位相同。在一些情况中,翻转位的高电压触发位翻转组件以触发对应于翻转位的码字中的数据位。且翻转位的低电压可引起位翻转组件传输对应于翻转位的码字中的数据位而无需执行翻转操作。
图8说明根据本发明的各个实施例的支持加强型位翻转方案的存储器阵列的框图。框图800可包含存储器阵列100-a,其可为如参考图1论述的存储器阵列100的实例。存储器阵列100-a可被称为电子存储器设备且包含存储器控制器140-a、字线110-a、位线115-a、感测组件125-a及存储器胞105-a,其可为参考图1描述的存储器控制器140、字线110、位线115、感测组件125及存储器胞105的实例。存储器阵列100-a还可包含参考组件820、锁存器825及读取组件850。存储器阵列100-a的组件可彼此电子通信且可执行参考图1到7描述的功能。
存储器控制器140-a可与其它组件组合,遍及存储器阵列100-a施加电压,将数据写入到存储器胞105-a,从存储器胞105-a读取数据且通常操作存储器阵列100-a,如在图1到7中描述。存储器控制器140-a可包含偏压组件810及时序组件815。在一些情况中,存储器控制器可包含位翻转组件845。存储器控制器140-a可与存储器胞105-a、感测组件125-a及参考组件820电子通信。
偏压组件810可(例如,通过存储器控制器140-a)经配置以通过将电压施加到字线110-a或位线115-a而激活所述各种节点。举例来说,偏压组件810可经配置以施加电压以读取或写入如本文中描述的存储器胞105-a。在一些情况中,存储器控制器140-a可包含行解码器、列解码器或两者,如参考图1描述。这可使存储器控制器140-a能够存取一或多个存储器胞105。偏压组件810还可将电压电势提供到参考组件820以便产生用于感测组件125-a的参考信号。另外,偏压组件810可提供用于感测组件125-a的操作的电压电势。
时序组件815可经配置以控制各种字线选择或板极偏压的时序(包含用于切换及电压施加的时序)以执行本文中论述的存储器功能(例如读取及写入)。在一些情况中,时序组件815可控制偏压组件810的操作。
参考组件820可包含各种组件以产生用于感测组件125-a的参考信号。参考组件820可包含经配置以产生参考信号的电路。
感测组件125-a可比较来自存储器胞105-a的信号与来自参考组件820的参考信号。在确定逻辑状态之后,感测组件可接着将输出存储于锁存器825中,其中可根据电子装置(存储器阵列100-a是其一部分)的操作使用所述输出。在一些情况中,参考组件820、感测组件125-a及锁存器825可为存储器控制器140-a的组件。
位翻转组件845可用于管理加强型位翻转方案的方面。举例来说,位翻转组件845可用于将时序信息提供到偏压组件810及/或时序组件815以用于位翻转操作。位翻转组件845还可包含翻转位产生组件及/或位翻转组件。
读取组件850可用于处理存储于锁存器825处的信息位。读取组件850可包含如参考图2论述的读取组件200的方面。
在一些情况中,与读取组件850组合,存储器控制器140-a可执行包括数据位及反转位的码字的错误校正,其中反转位指示数据位是否处于经反转状态中。在一些情况中,码字的数据及反转位存储于存储器胞105-a中且数据及反转位的值由感测组件125-a感测。存储器控制器140-a还可结合读取组件850在错误校正的同时至少部分基于由数个反转位存储的值而产生翻转位且将翻转位传输到位翻转组件。在一些情况中,位翻转组件包含于读取组件850中。
在一些情况中,存储器控制器140-a可结合读取组件850针对包括数据位及指示数据位是否处于经反转状态中的反转位的码字,确定大多数反转位是否指示数据位处于经反转状态中。在一些情况中,码字的数据及反转位存储于存储器胞105-a中且数据及反转位的值由感测组件125-a感测。存储器控制器140-a还可结合读取组件850至少部分基于确定大多数反转位是否指示数据位处于经反转状态中而产生翻转位且将翻转位传输到位翻转组件。在一些情况中,位翻转组件包含于读取组件850中。
图9说明根据本发明的各个实施例的支持加强型位翻转方案的系统。系统900包含装置905,所述装置905可为或包含印刷电路板以连接或物理支撑各种组件。装置905包含存储器阵列100-b,其可为参考图1及8描述的存储器阵列100的实例。存储器阵列100-b可含有存储器控制器140-b及存储器胞105-b,其可为如参考图1及8描述的存储器控制器140及存储器胞105的实例。装置905还可包含处理器910、BIOS组件915、外围组件920及输入/输出控制组件925。装置905的组件可通过总线930彼此电子通信。
处理器910可经配置以通过存储器控制器140-b操作存储器阵列100-b。在一些情况中,处理器910可执行参考图1及8描述的存储器控制器140的功能。在其它情况中,存储器控制器140-b可集成到处理器910中。处理器910可为通用处理器、数字信号处理器(DSP)、特定应用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑设备、离散门或晶体管逻辑、离散硬件组件或其可为这些类型的组件的组合,且处理器910可执行本文中描述的各种功能。处理器910可(例如)经配置以执行存储于存储器阵列100-b中的计算机可读指令以引起装置905执行各种功能或任务。
BIOS组件915可为包含经操作为固件的基本输入/输出系统(BIOS)的软件组件,其可初始化且运行系统900的各种硬件组件。BIOS组件915还可管理处理器910与各种组件(例如,外围组件920、输入/输出控制组件925等)之间的数据流。BIOS组件915可包含存储于只读存储器(ROM)、闪存或任何其它非易失性存储器中的程序或软件。
外围组件920可为集成到装置905中的任何输入或输出装置,或用于此类装置的接口。实例可包含磁盘控制器、声音控制器、图形控制器、以太网络控制器、调制解调器、通用串行总线(USB)控制器、串行或并行端口或外围卡槽(例如外围组件互连件(PCI)或加速图形端口(AGP)槽)。
输入/输出控制组件925可管理处理器910与外围组件920、输入设备935或输出装置940之间的数据通信。输入/输出控制组件925还可管理未集成到装置905中的接口设备。在一些情况中,输入/输出控制组件925可表示到外部接口设备的物理连接或端口。
输入935可表示将输入提供到装置905或其组件的装置905外部的装置或信号。这可包含用户接口或与其它装置或其它装置之间的接口。在一些情况中,输入935可为经由外围组件920与装置905介接的接口设备或可由输入/输出控制组件925管理。
输出940可表示经配置以从装置905或任何其组件接收输出的装置905外部的装置或信号。输出940的实例可包含显示器、音讯扬声器、打印装置、另一处理器或印刷电路板等。在一些情况中,输出940可为经由外围组件920与装置905介接的接口设备或可由输入/输出控制组件925管理。
存储器控制器140-b、装置905及存储器阵列100-b的组件可由经设计以实行其功能的电路构成。这可包含各种电路元件,(例如)导电线、晶体管、电容器、电感器、电阻器、放大器或经配置以实行本文中描述的功能的其它有源或无源元件。
图10说明根据本发明的各个实施例的加强型位翻转方案的一或若干方法的方面。方法1000可说明在读取操作期间处理码字的方面。
在框1005处,方法可包含执行包括数据位及反转位的码字的错误校正,反转位指示数据位是否处于经反转状态中,如参考图1到7描述。在某些实例中,框1005的操作可通过如参考图1、2、8及9描述的错误识别组件或存储器控制器执行或促进。
在框1010处,方法可包含在错误校正的同时至少部分基于由数个反转位存储的值而产生翻转位,如参考图1到7描述。在某些实例中,框1010的操作可通过如参考图1、2、6到8及9描述的翻转位产生器或存储器控制器执行或促进。
在框1015处,方法可包含将翻转位传输到位翻转组件,如参考图1到7描述。在某些实例中,方法1015的操作可通过如参考图1、2、8及9描述的位翻转组件或存储器控制器执行或促进。
图11说明根据本发明的各个实施例的加强型位翻转方案的一或若干方法的流程图。方法1100可说明在读取操作期间处理码字的方面。
在框1105处,方法可包含针对包括数据位及指示数据位是否处于经反转状态中的反转位的码字,确定大多数反转位是否指示数据位处于经反转状态中,如参考图1到7描述。在某些实例中,框1105的操作可通过翻转位产生器、表决组件或存储器控制器执行或促进,如参考图1、2、6到8及9描述。
在框1110处,方法可包含至少部分基于确定大多数反转位是否指示数据位处于经反转状态中而产生翻转位,如参考图1到7描述。在某些实例中,框1110的操作可通过如参考图1、2、6到8及9描述的翻转位产生器或存储器控制器执行或促进。
在框1115处,方法可包含将翻转位传输到位翻转组件,如参考图1到7描述。在某些实例中,方法1115的操作可通过如参考图1、2、8及9描述的位翻转组件或存储器控制器执行或促进。
在一些实例中,如本文中描述的设备可执行一或若干方法,例如方法1000。所述设备可包含用于以下各者的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):执行包含数据位及反转位的码字的错误校正,所述反转位指示所述数据位是否处于经反转状态中;在所述错误校正的同时基于由数个所述反转位存储的值而产生翻转位;及将所述翻转位传输到位翻转组件。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:基于由所述数个所述反转位中的每一者存储的所述值而确定所述数据位是否处于所述经反转状态中,其中基于确定所述数据位是否处于所述经反转状态中而产生所述翻转位。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:通过比较由所述数个所述反转位中的每一者存储的所述值而确定大多数所述反转位指示所述数据位处于所述经反转状态中;及基于确定所述大多数所述反转位指示所述数据位处于所述经反转状态中而确定所述数据位处于所述经反转状态中。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:基于确定所述数据位可在所述经反转状态中而翻转所述数据位;及在可翻转所述数据位之后将所述数据位传输到存储器缓冲器。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:通过比较由所述数个所述反转位中的每一者存储的所述值而确定少数所述反转位指示所述数据位可在所述经反转状态中;及基于确定少数所述反转位指示所述数据位处于所述经反转状态中而确定所述数据位可在原始状态中;及将所述数据位传输到存储器缓冲器。
在本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例中,执行所述错误校正可包含用于在产生翻转位时或之后产生所述数据位的校正子位的操作、特征、构件或指令。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:将所述数据位传输到与所述位翻转组件耦合的位校正组件;及在将所述翻转位传输到所述位翻转组件之后将所述校正子位传输到所述位校正组件。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:在所述错误校正期间确定所述数据位的数据位是否可损坏,其中可基于确定所述数据位的所述数据位是否可损坏而产生所述校正子位。
在本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例中,所述翻转位的RBER或UBER可等于或大于所述数据位的数据位的UBER。
在本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例中,存储器的区段可包含用于以下各者的操作、特征、构件或指令:针对每一码字,执行错误校正操作;针对每一码字且独立于所述码字的错误校正,基于反转位而确定翻转位的值;及针对每一码字,将所述翻转位传输到位翻转组件。
在一些实例中,如本文中描述的设备可执行一或若干方法,例如方法1100。所述设备可包含用于以下各者的特征、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体):针对包含数据位及指示所述数据位是否处于经反转状态中的反转位的码字,确定大多数所述反转位是否指示所述数据位处于所述经反转状态中;基于确定所述大多数所述反转位是否指示所述数据位处于所述经反转状态中而产生翻转位;及将所述翻转位传输到位翻转组件。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:执行所述码字的错误校正;基于所述错误校正而产生所述数据位的校正子位;及在将所述翻转位传输到所述位翻转组件的同时,将所述校正子位传输到可与所述位翻转组件耦合的位校正组件。
本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例可进一步包含用于以下各者的操作、特征、构件或指令:执行所述码字的错误校正;基于所述错误校正而产生所述数据位的校正子位;将所述数据位传输到可与所述位翻转组件耦合的位校正组件;及在将所述翻转位传输到所述位翻转组件之后将所述校正子位传输到所述位校正组件。
在本文中描述的方法、设备及非暂时性计算机可读媒体的一些实例中,与所述翻转位相关联的第一错误率可等于或大于与所述数据位相关联的第二错误率。应注意,本文中描述的方法描述可能实施方案,且操作及步骤可重新布置或以其它方式修改且其它实施方案是可能的。此外,可组合来自两个或两个以上方法的实施例。
在一些实例中,设备或装置可使用通用或专用硬件执行本文中描述的功能的方面。举例来说,设备或装置可包含:数据组件,其经配置以处理数据位;控制组件,其经配置以处理包括指示所述数据位是否处于经反转状态中的反转位的控制位;错误识别组件,其与所述数据组件及所述控制组件耦合,所述错误识别组件经配置以识别所述数据位中的错误;及翻转位产生器,其经配置以基于大多数所述反转位是否指示所述数据位处于所述经反转状态中而确定所述数据位处于所述经反转状态中。
在所述设备或装置的一些实例中,所述翻转位产生器包含于所述控制组件内且经配置以至少部分基于大多数数据位是否处于经反转状态中而产生翻转位且将所述翻转位传输到所述数据组件。在一些实例中,所述翻转位产生器经配置以在将所述校正子位传输到所述数据组件之前或之时将所述翻转位传输到所述数据组件。在一些实例中,所述翻转位产生器经配置以独立于所述错误识别组件的输出而确定所述数据位是否处于所述经反转状态中。
在所述设备或装置的一些实例中,所述错误识别组件经配置以至少部分基于所述数据位中识别的所述错误而将校正子位传输到所述数据组件。在一些情况中,所述错误识别组件及所述翻转位产生器彼此独立操作。
在一些实例中,所述设备或装置包含经配置以至少部分基于所述翻转位而翻转所述数据位的位翻转组件。在一些情况中,所述数据组件包括所述位翻转组件。在一些实例中,所述设备或装置包含存储器阵列,所述存储器阵列包括数据组件、控制组件及存储器区段,其中每一存储器区段包括码字。
在一些实例中,所述设备或装置包含一或多个错误识别组件,其经配置以针对存储器区段中的每一码字识别所述数据位中的错误,其中所述一或多个错误识别组件包括所述错误识别组件。
在一些实例中,所述设备或装置包含一或多个翻转位产生器,其经配置以针对存储器区段中的每一码字确定所述数据位是否处于所述经反转状态中,其中所述一或多个翻转位产生器包括所述翻转位产生器,且其中所述一或多个错误识别组件及所述一或多个翻转位产生器彼此独立操作。
在其它实例中,设备或装置可包含:存储器阵列,其包括经配置以存储数据位的第一存储器胞及经配置以存储包括反转位的控制位的第二存储器胞;修复组件,其与所述存储器阵列耦合,所述修复组件经配置以替换所述数据位的子集及所述控制位的子集;错误识别组件,其与所述修复组件的输出耦合,所述错误识别组件经配置以在替换所述数据位的所述子集之后识别所述数据位中的错误;及表决组件,其与所述修复组件的所述输出耦合,所述表决组件经配置以在通过所述错误识别组件识别所述数据位中的错误的同时确定大多数反转位是否指示所述数据位处于经反转状态中。
在所述设备或装置的一些实例中,所述表决组件与所述错误识别组件电隔离。在所述设备或装置的一些实例中,所述修复组件包含经配置以替换所述数据位的所述子集的第一多路复用器及经配置以替换所述控制位的所述子集的第二多路复用器。
在一些实例中,所述设备或装置包含与所述第一多路复用器及所述错误识别组件的所述输出耦合的位校正组件,所述位校正组件经配置以校正所述数据位中的所述错误。在一些实例中,所述设备或装置包含与所述表决组件及所述位校正组件耦合的翻转组件,其中所述翻转组件经配置以在校正所述数据位中的所述错误之后翻转所述数据位。
在其它实例中,设备或装置可包含:错误识别组件,其经配置以执行包括数据位及反转位的码字的错误校正,所述反转位指示所述数据位是否处于经反转状态中;翻转位产生器,其与所述错误识别组件耦合,所述翻转位产生器经配置以至少部分基于由所述反转位的子集存储的值而产生翻转位;及位翻转组件,其与所述翻转位产生器耦合,所述位翻转组件经配置以从所述翻转位产生器接收所述翻转位且至少部分基于所述翻转位的值而翻转所述数据位。
在所述设备或装置的一些实例中,所述翻转位产生器包括表决组件,其中所述表决组件经配置以确定大多数所述反转位是否指示所述数据位处于所述经反转状态中。在一些情况中,所述翻转位是至少部分基于所述确定而产生。
在一些实例中,所述设备或装置包含:位校正组件,其与所述错误识别组件及所述翻转位产生器耦合。在一些情况中,所述位校正组件经配置以校正所述数据位中的错误。在一些情况中,所述错误识别组件进一步经配置以产生所述数据位的校正子位且将所述校正子位传输到所述位校正组件,所述位校正组件经配置以至少部分基于所述校正子位而校正所述数据位中的所述错误。在一些情况中,所述翻转位产生器经配置以在将所述校正子位传输到所述位校正组件之前或之时将所述翻转位传输到所述位翻转组件。
如本文中使用,术语“虚拟接地”是指保持于近似零伏特(0V)的电压但未直接与接地连接的电路的节点。相应地,虚拟接地的电压可暂时波动且在稳定状态下返回到近似0V。可使用各种电子电路元件(例如由运算放大器及电阻器组成的分压器)实施虚拟接地。其它实施方案也是可能的。“虚拟接地”或“经虚拟接地”意味着连接到近似0V。
术语“电子通信”及“耦合”是指支持组件之间的电子流动的组件之间的关系。这可包含组件之间的直接连接或可包含中间组件。彼此电子通信或耦合的组件可(例如,在通电电路中)主动交换电子或信号或不可(例如,在断电电路中)主动交换电子或信号,但可经配置且可操作以在通电到电路之后交换电子或信号。举例来说,经由开关(例如,晶体管)物理连接的两个组件电子通信或可耦合,而无关于开关的状态(例如,断开或闭合)。
术语“隔离”或“电隔离”是指组件之间的关系,其中电子当前不能够在其之间流动;如果在组件之间存在开路,那么组件彼此隔离。举例来说,当开关断开时,通过开关物理连接的两个组件可彼此隔离。
如本文中使用,术语“大体上”意味着经修饰特性(例如,由术语大体上修饰的动词或形容词)不需要是绝对的但足够接近以便实现特性的优点。
本文中论述的装置(包含存储器阵列100)可形成于半导体衬底(例如硅、锗、硅锗合金、砷化镓、氮化镓等)上。在一些情况中,衬底是半导体晶片。在其它情况中,衬底可为绝缘体上覆硅(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、A及B组合、A及C组合、B及C组合或A、B及C组合。此外,如本文中所使用,包含在权利要求书中,如品项列表(例如,以例如“至少一者”或“一或多者”的词组开始的品项列表)中使用的“或”指示转折列表,使得(例如)A、B或C的至少一者的列表意指A或B或C或AB或AC或BC或ABC(即,A及B及C)。
计算机可读媒体包含计算机存储媒体及通信媒体两者,包含促进计算机程序从位置到另一位置的传送的任何媒体。存储媒体可为可通过通用计算机或专用计算机存取的任何可用媒体。通过实例(且非限制),计算机可读媒体可包括RAM、ROM、EEPROM、闪存、CD-ROM或其它光盘存储器、磁盘存储器或其它磁性存储装置或可用于载送或存储呈指令或数据结构的形式的所要程序代码构件且可通过通用计算机或专用计算机或通用或专用处理器存取的任何其它媒体。此外,任何连接可被适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(例如红外线、无线电及微波)从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。如本文中使用,磁盘及光盘包含光盘片(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常磁性地重现数据而光盘用激光光学地重现数据。上述组合还包含于计算机可读媒体的范围内。
提供本发明的先前描述以使所属领域的技术人员能够制造或使用本发明。所属领域的技术人员将容易明白对本发明的各种修改,且本文中定义的一般原理可应用到其它变化而不脱离本发明的范围。因此,本发明不限于本文中描述的实例及设计,但符合与本文中揭示的原理及新颖特征一致的最广范围。

Claims (30)

1.一种方法,其包括:
执行包括数据位及反转位的码字的错误校正,所述反转位指示所述数据位是否处于经反转状态中;
在所述错误校正的同时至少部分基于由数个所述反转位存储的值而产生翻转位;及
将所述翻转位传输到位翻转组件。
2.根据权利要求1所述的方法,其进一步包括:
至少部分基于由所述数个所述反转位中的每一者存储的所述值而确定所述数据位是否处于所述经反转状态中,其中至少部分基于确定所述数据位是否处于所述经反转状态中而产生所述翻转位。
3.根据权利要求1所述的方法,其进一步包括:
通过比较由所述数个所述反转位中的每一者存储的所述值而确定大多数所述反转位指示所述数据位处于所述经反转状态中;及
至少部分基于确定所述大多数所述反转位指示所述数据位处于所述经反转状态中而确定所述数据位处于所述经反转状态中。
4.根据权利要求3所述的方法,其进一步包括:
至少部分基于确定所述数据位处于所述经反转状态中而翻转所述数据位;及
在翻转所述数据位之后将所述数据位传输到存储器缓冲器。
5.根据权利要求1所述的方法,其进一步包括:
通过比较由所述数个所述反转位中的每一者存储的所述值而确定少数所述反转位指示所述数据位处于所述经反转状态中;及
至少部分基于确定所述少数所述反转位指示所述数据位处于所述经反转状态中而确定所述数据位处于原始状态中;及
将所述数据位传输到存储器缓冲器。
6.根据权利要求1所述的方法,其中执行所述错误校正包括:
在产生所述翻转位时或之后产生所述数据位的校正子位。
7.根据权利要求6所述的方法,其进一步包括:
将所述数据位传输到与所述位翻转组件耦合的位校正组件;及
在将所述翻转位传输到所述位翻转组件之后将所述校正子位传输到所述位校正组件。
8.根据权利要求6所述的方法,其进一步包括:
在所述错误校正期间确定所述数据位中的数据位是否被损坏,其中至少部分基于确定所述数据位中的所述数据位是否被损坏而产生所述校正子位。
9.根据权利要求1所述的方法,其中所述翻转位的原始位错误率RBER或所述翻转位的不可校正位错误率UBER等于或大于所述数据位中的数据位的UBER。
10.根据权利要求1所述的方法,其中存储器的区段包括包含所述码字的码字,所述码字中的每一码字包括数据位及反转位,所述反转位指示所述数据位是否处于所述经反转状态中,所述方法进一步包括:
针对每一码字,执行错误校正操作;
针对每一码字且独立于所述码字的错误校正,至少部分基于反转位而确定翻转位的值;及
针对每一码字,将所述翻转位传输到一或多个位翻转组件,所述一或多个位翻转组件包括所述位翻转组件。
11.一种方法,其包括:
针对包括数据位及指示所述数据位是否处于经反转状态中的反转位的码字,确定大多数所述反转位是否指示所述数据位处于所述经反转状态中;
至少部分基于确定所述大多数所述反转位是否指示所述数据位处于所述经反转状态中而产生翻转位;及
将所述翻转位传输到位翻转组件。
12.根据权利要求11所述的方法,其进一步包括:
执行所述码字的错误校正;
至少部分基于所述错误校正而产生所述数据位的校正子位;及
在将所述翻转位传输到所述位翻转组件的同时将所述校正子位传输到与所述位翻转组件耦合的位校正组件。
13.根据权利要求11所述的方法,其进一步包括:
执行所述码字的错误校正;
至少部分基于所述错误校正而产生所述数据位的校正子位;
将所述数据位传输到与所述位翻转组件耦合的位校正组件;及
在将所述翻转位传输到所述位翻转组件之后将所述校正子位传输到所述位校正组件。
14.根据权利要求11所述的方法,其中与所述翻转位相关联的第一错误率等于或大于与所述数据位相关联的第二错误率。
15.一种设备,其包括:
数据组件,其经配置以处理数据位;
控制组件,其经配置以处理包括指示所述数据位是否处于经反转状态中的反转位的控制位;
错误识别组件,其与所述数据组件及所述控制组件耦合,所述错误识别组件经配置以识别所述数据位中的错误;及
翻转位产生器,其经配置以基于大多数所述反转位是否指示所述数据位处于所述经反转状态中而确定所述数据位是否处于所述经反转状态中。
16.根据权利要求15所述的设备,其中所述错误识别组件及所述翻转位产生器彼此独立操作,且其中所述控制位包括错误校正位及冗余位。
17.根据权利要求15所述的设备,其中所述翻转位产生器包含于所述控制组件内且经配置以:
至少部分基于所述大多数所述数据位是否处于所述经反转状态中而产生翻转位,及
将所述翻转位传输到所述数据组件。
18.根据权利要求17所述的设备,其进一步包括:
位翻转组件,其经配置以至少部分基于所述翻转位而翻转所述数据位,其中所述数据组件包括所述位翻转组件。
19.根据权利要求17所述的设备,其中所述错误识别组件经配置以至少部分基于所述数据位中识别的所述错误而将校正子位传输到所述数据组件,且其中所述翻转位产生器经配置以在将所述校正子位传输到所述数据组件之前或之时将所述翻转位传输到所述数据组件。
20.根据权利要求15所述的设备,其中所述翻转位产生器经配置以独立于所述错误识别组件的输出而确定所述数据位是否处于所述经反转状态中。
21.根据权利要求15所述的设备,其进一步包括:
存储器阵列,其包括所述数据组件、所述控制组件及存储器区段,每一存储器区段包括码字;
一或多个错误识别组件,其经配置以针对存储器区段中的每一码字识别所述数据位中的错误,其中所述一或多个错误识别组件包括所述错误识别组件;及
一或多个翻转位产生器,其经配置以针对存储器区段中的每一码字确定所述数据位是否处于所述经反转状态中,其中所述一或多个翻转位产生器包括所述翻转位产生器,且其中所述一或多个错误识别组件及所述一或多个翻转位产生器彼此独立操作。
22.一种设备,其包括:
存储器阵列,其包括经配置以存储数据位的第一存储器胞及经配置以存储包括反转位的控制位的第二存储器胞;
修复组件,其与所述存储器阵列耦合,所述修复组件经配置以替换所述数据位的子集及所述控制位的子集;
错误识别组件,其与所述修复组件的输出耦合,所述错误识别组件经配置以在替换所述数据位的所述子集之后识别所述数据位中的错误;及
表决组件,其与所述修复组件的所述输出耦合,所述表决组件经配置以在通过所述错误识别组件识别所述数据位中的错误的同时确定大多数反转位是否指示所述数据位处于经反转状态中。
23.根据权利要求22所述的设备,其中所述表决组件与所述错误识别组件电隔离。
24.根据权利要求22所述的设备,所述修复组件包括:
第一多路复用器,其经配置以替换所述数据位的所述子集;及
第二多路复用器,其经配置以替换所述控制位的所述子集。
25.根据权利要求24所述的设备,其进一步包括:
位校正组件,其与所述第一多路复用器及所述错误识别组件的输出耦合,所述位校正组件经配置以校正所述数据位中的所述错误。
26.根据权利要求25所述的设备,其进一步包括:
位翻转组件,其与所述表决组件及所述位校正组件耦合,所述位翻转组件经配置以在校正所述数据位中的所述错误之后翻转所述数据位。
27.一种设备,其包括:
错误识别组件,其经配置以执行包括数据位及反转位的码字的错误校正,所述反转位指示所述数据位是否处于经反转状态中;及
翻转位产生器,其与所述错误识别组件耦合,所述翻转位产生器经配置以至少部分基于由所述反转位的子集存储的值而产生翻转位;及
位翻转组件,其与所述翻转位产生器耦合,所述位翻转组件经配置以从所述翻转位产生器接收所述翻转位且至少部分基于所述翻转位的值而翻转所述数据位。
28.根据权利要求27所述的设备,其中所述翻转位产生器包括表决组件,所述表决组件经配置以确定大多数所述反转位是否指示所述数据位处于所述经反转状态中,且其中所述翻转位是至少部分基于所述确定而产生。
29.根据权利要求27所述的设备,其进一步包括:
位校正组件,其与所述错误识别组件及所述翻转位产生器耦合,所述位校正组件经配置以校正所述数据位中的错误,其中所述错误识别组件进一步经配置以:
产生所述数据位的校正子位,及
将所述校正子位传输到所述位校正组件,所述位校正组件经配置以至少部分基于所述校正子位而校正所述数据位中的所述错误。
30.根据权利要求29所述的设备,其中所述翻转位产生器经配置以在将所述校正子位传输到所述位校正组件之前或之时将所述翻转位传输到所述位翻转组件。
CN201980052287.3A 2018-08-17 2019-08-02 加强型位翻转方案 Active CN112543921B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/104,470 2018-08-17
US16/104,470 US10802909B2 (en) 2018-08-17 2018-08-17 Enhanced bit flipping scheme
PCT/US2019/044874 WO2020036752A1 (en) 2018-08-17 2019-08-02 Enhanced bit flipping scheme

Publications (2)

Publication Number Publication Date
CN112543921A true CN112543921A (zh) 2021-03-23
CN112543921B CN112543921B (zh) 2022-06-21

Family

ID=69523562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980052287.3A Active CN112543921B (zh) 2018-08-17 2019-08-02 加强型位翻转方案

Country Status (7)

Country Link
US (3) US10802909B2 (zh)
EP (1) EP3837607A4 (zh)
JP (1) JP7053948B2 (zh)
KR (1) KR102270100B1 (zh)
CN (1) CN112543921B (zh)
TW (1) TWI709035B (zh)
WO (1) WO2020036752A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7096070B2 (ja) * 2018-05-29 2022-07-05 ラピスセミコンダクタ株式会社 多数決処理装置、半導体記憶装置及び情報データの多数決方法
US10802909B2 (en) * 2018-08-17 2020-10-13 Micron Technology, Inc. Enhanced bit flipping scheme
US10951232B2 (en) 2018-11-26 2021-03-16 Micron Technology, Inc. Error correction bit flipping scheme
CN113380303B (zh) * 2020-03-10 2024-06-11 华邦电子股份有限公司 内存存储装置及数据访问方法
US11567831B2 (en) * 2020-07-28 2023-01-31 Micron Technology, Inc. Generating a protected and balanced codeword
US11237906B1 (en) 2020-07-28 2022-02-01 Micron Technology, Inc. Generating a balanced codeword protected by an error correction code
US11494264B2 (en) * 2020-07-28 2022-11-08 Micron Technology, Inc. Generating a protected and balanced codeword
TWI737495B (zh) * 2020-09-17 2021-08-21 大陸商珠海南北極科技有限公司 記憶體裝置的控制方法
WO2022185090A1 (en) * 2021-03-02 2022-09-09 Micron Technology, Inc. Memory device having an improved ecc architecture
CN115878365A (zh) * 2021-09-27 2023-03-31 华为技术有限公司 内存纠错方法、装置及相关设备
US11860733B2 (en) * 2021-12-08 2024-01-02 Western Digital Technologies, Inc. Memory matched low density parity check coding schemes
CN117054750A (zh) * 2022-05-05 2023-11-14 华为技术有限公司 一种采样装置、相关设备和控制方法
US11934267B1 (en) 2022-08-28 2024-03-19 Micron Technology, Inc. Data inversion and unidirectional error detection

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066005A1 (en) * 1999-09-30 2003-04-03 Iglesia Erik A. De La Bus power savings using selective inversion in an ECC system
US6563745B1 (en) * 2001-12-14 2003-05-13 Matrix Semiconductor, Inc. Memory device and method for dynamic bit inversion
CN101681284A (zh) * 2007-06-12 2010-03-24 美光科技公司 以每单元变化位将错误校正码编程到固态存储器装置中
US8656257B1 (en) * 2012-01-11 2014-02-18 Pmc-Sierra Us, Inc. Nonvolatile memory controller with concatenated error correction codes

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5644583A (en) * 1992-09-22 1997-07-01 International Business Machines Corporation Soft error correction technique and system for odd weight row error correction codes
US6292868B1 (en) * 1996-10-15 2001-09-18 Micron Technology, Inc. System and method for encoding data to reduce power and time required to write the encoded data to a flash memory
KR20030036227A (ko) * 2000-06-16 2003-05-09 어웨어, 인크. Ldpc 코드형 변조를 위한 시스템 및 방법
US6650158B2 (en) * 2001-02-21 2003-11-18 Ramtron International Corporation Ferroelectric non-volatile logic elements
US6996660B1 (en) * 2001-04-09 2006-02-07 Matrix Semiconductor, Inc. Memory device and method for storing and reading data in a write-once memory array
US7502986B2 (en) 2005-02-09 2009-03-10 International Business Machines Corporation Method and apparatus for collecting failure information on error correction code (ECC) protected data
US7102544B1 (en) * 2005-05-31 2006-09-05 Altera Corporation Method and system for improving memory interface data integrity in PLDs
US7925936B1 (en) * 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8064269B2 (en) * 2008-05-02 2011-11-22 Micron Technology, Inc. Apparatus and methods having majority bit detection
US9280466B2 (en) * 2008-09-09 2016-03-08 Kabushiki Kaisha Toshiba Information processing device including memory management device managing access from processor to memory and memory management method
JP5303325B2 (ja) 2009-03-18 2013-10-02 ルネサスエレクトロニクス株式会社 データ処理装置
US9112536B2 (en) 2011-01-31 2015-08-18 Everspin Technologies, Inc. Method of reading and writing to a spin torque magnetic random access memory with error correcting code
US9136873B2 (en) * 2013-03-11 2015-09-15 Intel Corporation Reduced uncorrectable memory errors
US10073731B2 (en) * 2013-11-27 2018-09-11 Intel Corporation Error correction in memory
US9494647B1 (en) * 2013-12-31 2016-11-15 Gsi Technology, Inc. Systems and methods involving data inversion devices, circuitry, schemes and/or related aspects
US9319073B2 (en) * 2014-02-11 2016-04-19 Seagate Technology Llc Mitigation of write errors in multi-level cell flash memory through adaptive error correction code decoding
US20150261603A1 (en) * 2014-03-12 2015-09-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and control method thereof
US9507662B2 (en) * 2014-09-24 2016-11-29 Everspin Technologies, Inc. Expanded error correction codes
DE102015113414B4 (de) * 2015-08-14 2023-02-23 Infineon Technologies Ag Fehlerkorrektur unter Verwendung von WOM-Codes
KR20170101368A (ko) 2016-02-26 2017-09-06 에스케이하이닉스 주식회사 에러 정정 회로 및 에러 정정 방법
US9904594B2 (en) * 2016-04-15 2018-02-27 Micron Technology, Inc. Monitoring error correction operations performed in memory
US9715919B1 (en) * 2016-06-21 2017-07-25 Micron Technology, Inc. Array data bit inversion
KR20180013212A (ko) 2016-07-29 2018-02-07 에스케이하이닉스 주식회사 데이터 비트 인버전 제어 장치 및 이를 포함하는 반도체 장치
TWI603190B (zh) * 2016-09-30 2017-10-21 旺宏電子股份有限公司 用以尋找一碼字中錯誤位置的方法及電子裝置
US10802909B2 (en) * 2018-08-17 2020-10-13 Micron Technology, Inc. Enhanced bit flipping scheme

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066005A1 (en) * 1999-09-30 2003-04-03 Iglesia Erik A. De La Bus power savings using selective inversion in an ECC system
US6563745B1 (en) * 2001-12-14 2003-05-13 Matrix Semiconductor, Inc. Memory device and method for dynamic bit inversion
CN101681284A (zh) * 2007-06-12 2010-03-24 美光科技公司 以每单元变化位将错误校正码编程到固态存储器装置中
US8656257B1 (en) * 2012-01-11 2014-02-18 Pmc-Sierra Us, Inc. Nonvolatile memory controller with concatenated error correction codes

Also Published As

Publication number Publication date
US11256566B2 (en) 2022-02-22
US20220245027A1 (en) 2022-08-04
US20200059252A1 (en) 2020-02-20
JP2021524646A (ja) 2021-09-13
US20200409785A1 (en) 2020-12-31
WO2020036752A1 (en) 2020-02-20
TWI709035B (zh) 2020-11-01
TW202014891A (zh) 2020-04-16
CN112543921B (zh) 2022-06-21
KR102270100B1 (ko) 2021-06-29
KR20210034088A (ko) 2021-03-29
EP3837607A1 (en) 2021-06-23
JP7053948B2 (ja) 2022-04-13
US11775383B2 (en) 2023-10-03
US10802909B2 (en) 2020-10-13
EP3837607A4 (en) 2022-04-20

Similar Documents

Publication Publication Date Title
CN112543921B (zh) 加强型位翻转方案
US11709731B2 (en) Direct-input redundancy scheme with adaptive syndrome decoder
US11799496B2 (en) Error correction bit flipping scheme
US11740964B2 (en) Direct-input redundancy scheme with dedicated error correction code circuit
CN114627953A (zh) 基于分层错误检测的存储器错误校正
CN116893925A (zh) 使用行错误信息的擦除操作
CN113282233B (zh) 修改存储器库操作参数子集
CN115705910A (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
GR01 Patent grant
GR01 Patent grant