CN118119929A - 存储器中的ecc功率消耗优化 - Google Patents
存储器中的ecc功率消耗优化 Download PDFInfo
- Publication number
- CN118119929A CN118119929A CN202180103410.7A CN202180103410A CN118119929A CN 118119929 A CN118119929 A CN 118119929A CN 202180103410 A CN202180103410 A CN 202180103410A CN 118119929 A CN118119929 A CN 118119929A
- Authority
- CN
- China
- Prior art keywords
- syndrome
- ecc
- memory
- calculated
- circuit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title description 3
- 208000011580 syndromic disease Diseases 0.000 claims abstract description 256
- 238000000034 method Methods 0.000 claims abstract description 45
- 238000012937 correction Methods 0.000 claims description 58
- 238000004364 calculation method Methods 0.000 claims description 32
- 230000003213 activating effect Effects 0.000 claims description 7
- 239000000872 buffer Substances 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 206010011906 Death Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 150000004770 chalcogenides Chemical class 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/30—Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Static Random-Access Memory (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本公开涉及一种存储器装置,其包括包含多个存储器单元的阵列及操作单元,操作单元包括编码单元,编码单元经配置以将用户数据存储于存储器阵列的多个存储器单元中,且将与用户数据相关联的奇偶校验数据存储于存储器阵列的数个奇偶校验单元中,操作单元进一步包括解码单元,解码单元又包括经配置以根据经存储用户数据及奇偶校验数据计算ECC校验子的校验子产生单元,其中校验子产生单元包括多个电路部分,每一电路部分经配置以计算ECC校验子的相应校验子部分。操作单元经配置以激活校验子产生单元的第一电路部分以计算第一校验子部分及基于经计算的第一校验子部分决定是否激活第二电路部分以计算第二校验子部分。本文中还公开相关方法及系统。
Description
技术领域
本公开大体上涉及存储器单元阵列的管理及操作,且更特定来说,涉及用以优化具有错误校正码(ECC)保护的存储器的性能以减少ECC功率消耗的装置及方法。
背景技术
存储器装置用于许多电子系统中,例如移动电话、个人数字助理、膝上型计算机、数码相机及类似者。在存储器装置中使用各种类型的存储器,包含随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)等等。存储器装置可为易失性的或非易失性的。非易失性存储器在电源关闭时保持其内容,这使其成为存储器装置中用于存储待在系统重新启动(power-cycle)之后检索的信息的良好选择。特定来说,非易失性存储器单元可甚至在缺少外部电源的情况下维持其经存储逻辑状态达延长时段。
通过编程存储器装置的不同状态而存储信息。例如,二进制装置具有通常由逻辑“1”或逻辑“0”表示的两种状态。在其它系统中,可存储两个以上状态。为了存取经存储信息,存储器装置的组件可读取或感测经存储状态。为了存储信息,存储器装置的组件可写入或编程逻辑状态。
改进存储器装置可包含增加存储器单元密度、增加读取/写入速度、增加可靠性、增加数据保持、降低制造成本、按比例缩放成小于传统装置以及降低功率消耗。
归因于各种因素(例如存取次数、制造过程的质量、环境因素及类似者),存储器单元在其生命周期期间具有变化物理及电气特性。错误校正码(ECC)通常根据存储器装置的单元的经定义状态(例如,单元的寿命终止可靠性)来校准,且因此大体上在阵列的整个寿命内以其最高校正功率使用。因此,通常存在过度功率消耗。因此,期望改进具备ECC电路系统的存储器装置的功率消耗。
发明内容
附图说明
图1是包括可根据本公开操作的存储器装置的系统的示意性框图;
图2是根据本公开的实施例编码的用户数据模式的实例;
图3展示经受根据本公开的技术的码字的实例;
图4是根据本公开的实施例的用于管理存储器装置中的错误校正码(ECC)操作的操作电路的示意性框图;
图5展示根据本公开的实施例的包括用于计算ECC校验子的可选择电路部分的操作电路的示范性细节;
图6是展示根据本公开的实施例的校验子部分计算的实例的表;及
图7是根据本公开的实施例的方法的步骤的流程图。
具体实施方式
参考所述图式,本文中将公开用于存储器单元的经改进操作及用于降低ECC功率消耗的装置及方法。
在以下详细描述中,阐述许多具体细节以提供所主张标的物的透彻理解。然而,所属领域的技术人员将理解,所主张标的物可在无这些具体细节的情况下实践。在其它例子中,并未详细描述所属领域的一般技术人员将已知的方法、设备及/或系统以免使所主张标的物不清楚。
非易失性存储器在电源关闭时保持其内容,而使其成为用于存储待在系统重新启动之后检索的信息的良好选择。快闪存储器是一类型的非易失性存储器,其保持经存储数据,且其特征为非常快的存取时间。此外,其可按块而非一次一个字节地擦除。存储器的每一可擦除块包括布置成行及列的矩阵的多个非易失性存储器单元。每一单元耦合到存取线及/或数据线。通过操纵存取及数据线上的电压而编程及擦除单元。存取电路系统可在存储器单元的不同逻辑状态之间进行区分。例如,在存储器读取的情况中,存取电路系统将具有特定量值及极性的电压脉冲施加到存取线,这导致专用感测电路系统可检测到的电响应。检测电响应可包含例如检测跨阵列的给定存储器单元的端子的电压降(例如,阈值电压)、通过给定存储器单元的电流及给定存储器单元的阈值事件中的一或多者。
在本公开中,术语“耦合”可指代直接地抑或间接地物理、电及/或通信连接的元件,且在本文中可与术语“连接”可互换地使用。物理耦合可包含直接接触。电耦合包含允许组件之间的电气流量及/或信令的接口或互连。通信耦合包含使组件能够交换数据的连接,包含有线及无线连接。
图1是根据本公开的示范性实施例的包括存储器装置100的系统1000的示意性高级框图,此存储器装置100经布置、经编程且经配置以执行如下文公开的错误校正码(ECC)技术且具有专用ECC电路部分。
存储器装置100可为例如固态驱动器(SSD),且可包含存储器区段101、控制器102及主机接口103。存储器区段101不限于特定架构,且可包含不同类型的存储器。
控制器102可经由多个通道耦合到主机接口103及存储器区段101,且可用于在存储器区段101与主机110之间传送数据。主机接口103可呈标准化接口的形式。例如,当存储器装置100在计算系统中用于数据存储时,主机接口103可为串行高级技术附件(SATA)、高速外围组件互连(PCIe)或通用串行总线(USB)以及其它连接器及接口。一般来说,主机接口103可提供用于在存储器装置100与主机110之间传递控制项、地址、数据及其它信号的接口。
控制器102可包含嵌入式固件,且经调适以在内部管理及控制存储器区段101的操作。控制器102可与存储器区段101通信以控制数据读取、写入及擦除操作以及其它操作。例如,控制器102可包含呈硬件及/或固件(例如,一或多个集成电路)及/或软件的形式的若干组件,以用于控制对存储器区段101的存取及/或促进主机110与所述存储器区段101之间的数据传送。
因此,存储器控制器102表示装置的控制逻辑,其例如响应于由主机110(其大体上可为非易失性存储器的外部管理系统)的命令而作用。在一些实施例中,存储器控制器102还可在主机110中实施,特定来说作为主机处理器110’的部分,即使本公开不受特定架构限制。
如关于图1所公开,存储器控制器102可通过输入/输出IO接收用户数据。多个信号线将存储器控制器102与存储器区段101耦合。例如,此类信号线可包含时钟、命令/地址及写入数据(DQ)、读取DQ、以及零个或更多个其它信号线。因此,存储器控制器102可经由合适总线可操作地耦合到存储器区段101。
存储器装置100还可包括其它组件(未展示),例如耦合到控制器102的处理器单元、天线、与主机装置110的进一步连接构件及类似者。在任何情况下,本公开不受存储器装置100的特定配置限制。
此外,控制器102还可包含其自身的存储器区段(未展示),所述存储器区段与其其它单元可操作地耦合。在任何情况下,本公开不受控制器102的特定配置限制。
存储器装置100可为经配置以耦合到主机装置110的便携式装置。然而,在图式中未展示的其它实施例中,存储器装置100还可嵌入于一或多个主机装置内。主机110可为例如个人计算机、平板计算机、智能电话、服务器或类似者。主机110可包含系统主机板及/或背板,且可包含若干存储器存取装置(例如,若干处理器)。
在一些实施例中,控制器102包含ECC单元104(其还称为ECC引擎),ECC单元104经结构化且经配置以根据如在下文描述的技术操作。
根据本公开的实施例,ECC单元104可包含错误校正电路及逻辑以检测及校正若干位错误。ECC单元104不限于电路(例如,硬件)实施方案。例如,另外,ECC单元104可在固件及/或软件中实施。
ECC单元104可由离散组件(例如特定应用集成电路(ASIC))或反映由控制器102内不一定具有与控制器102的其它部分分离的离散物理形式的电路提供的功能性的组件体现。尽管说明为控制器102内的组件,但ECC单元104可在控制器102外部,或可具有定位于控制器102内的若干组件及定位于控制器102外部的若干组件,其中本公开不受特定硬件架构限制。在若干实施例中,ECC单元104可包含单独编码及解码组件。一般来说,存储器装置100因此包括操作单元(或操作电路)(被指示为104),所述操作单元是ECC引擎(其又可耦合到控制器102或集成到控制器102中,控制器102可因此执行所述ECC引擎的功能)。
换句话说,可如下文所公开那样编程的ECC单元104的错误检测/校正电路可包含硬件逻辑,以实施ECC以检测从存储器区段101读取的数据中发生的错误。在一个实施例中,错误检测/校正电路还校正错误(取决于基于所实施的ECC码的特定错误率)。
存储器装置100的存储器区段101可为包含存储器单元阵列的快闪存储器,例如,NAND存储器、NOR存储器、AND存储器及类似者。额外地或替代地,存储器区段101可包括位可变存储器单元;例如,相变存储器(PCM)、铁电存储器(FeRAM)、磁性存储器(MRAM)、基于硫族化物的自选择存储器(SSM)等。可在本公开的实施例中采用任何种类的存储器。例如,本公开适用于非易失性及易失性存储器中的任一者或两者。
一般来说,存储器区段101可包括存储器单元阵列101’。非易失性存储器可包括多个块,每一块在本文中用元件符号101”指示,且包括定义数目个页面。为简单起见,图1的实例中仅展示四个块101”。
存储器区段101表示用于存储器装置100的存储器资源。在一个实施例中,存储器单元阵列101’被管理为数据行,经由字线(行)及位线(耦合到行内的个别位的列)控制来存取。如先前所公开,存储器单元阵列101’可在多个部分中大体上组织为单独通道、排(rank)及存储器存储体。通道是到存储器区段内的存储位置的独立控制路径。排是指跨多个存储器装置的共同位置(例如,不同装置内的相同行地址)。存储体是指存储器装置内的存储器阵列位置。在一个实施例中,存储器存储体被划分为子存储体,其具有用于所述子存储体的共享电路的至少一部分(例如,驱动器、信号线、控制逻辑)。将理解,通道、排、存储体或存储器位置的其它组织及组织的组合可与物理资源重叠。例如,可经由特定通道存取相同物理存储器位置作为特定存储体,所述存储体还可属于排。因此,存储器资源的组织将以包含性而非排他性方式来理解。
换句话说,根据本公开的实施例,存储器单元阵列101’可细分为多个部分,例如页面、单个块、块群组、或甚至所有块(即,所有单元),本公开不限于此。因此,存储器单元可例如分组成包含若干物理页面的若干块。若干块可包含于存储器单元平面中且阵列可包含若干平面。
实施例不限于特定类型的存储器阵列或阵列架构,且本公开的技术可应用于数种存储器技术(例如,平面、交叉点、3D等)。
存储器区段101还可包括可操作地耦合到存储器单元阵列101’的另外电路105。
在一个实施例中,另外电路105包含存取电路系统及感测电路系统,以检测一或多个存储器单元对经施加读取电压的电响应。在一个实施例中,感测电路系统包含感测放大器。图1将另外电路105说明为嵌入于存储器区段101中;然而,其它实施例可包含与存储器区段101分离的存取电路系统及/或感测电路系统。例如,存取电路系统及感测电路系统可包含于例如存储器控制器102的存储器控制器中。
此外,存储器装置100(特定来说,存储器区段101的存储器单元阵列101’)可包括便于存储操作信息的非易失性区107,例如用于根据在下文公开的实施例的存储器阵列的管理。
在一个实施例中,存储器装置100还可包括感测单元108,感测单元108包括可操作地耦合到存储器区段101且任选地耦合到控制器102的一或多个传感器。感测单元108可经配置以检测存储器单元阵列101’或其一部分的状态(例如,温度)。
一般来说,存储器装置100的特定架构可根据需要及/或情况而变化,而不限制本公开的范围。
主机110及存储器装置100可形成系统1000。如先前提及,主机装置110是根据本文中所描述的任何实施例的计算装置,且可为膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描机、复印机、打印机、路由或交换装置、嵌入式计算装置或例如智能电话的其它电子装置。主机110大体上可为管理存储器区段101的系统,所述存储器区段可嵌入于所述系统中或大体上由所述系统管理。因此,存储器装置100可由外部控制器(即,如先前公开,嵌入于主机110的处理器110’中的控制器)管理,使得ECC单元还可包含于所述外部控制器中。在此情况下,存储器装置的控制器可能不存在,且存储器装置100(其可嵌入于主机110中)将所需信息传达到外部控制器。
在一个实施例中,系统1000包含耦合到处理器110’的接口1010,所述接口可表示用于需要较高频宽连接的系统组件及/或图形接口组件的较高速接口或高吞吐量接口。图形接口介接到图形组件,以用于为系统1000的用户提供视觉显示。在一个实施例中,图形接口基于存储于存储器装置中的数据或基于由处理器执行的操作或两者来产生显示。
系统1000还可包括网络接口1020,所述网络接口通信地耦合到主机或存储器装置,以例如用于与其它系统及/或经耦合以为所述系统提供电力的电池连接。
根据本公开,ECC单元104可经配置以对存储于存储器区段101中的码字执行具有特定错误校正功率的ECC操作(错误的检测及/或校正),其中码字包含特定数目个奇偶校验位,如下文将公开。
在一些实施例中,实际使用的ECC校正可取决于错误数目而变化;换句话说,在一些情况下,例如当检测到的错误的数目小于最大可校正错误数目时,仅可利用实际可用的全错误能力的小分率。在一些实施例中,可例如基于阵列的存储器单元的状态来动态地修改ECC校正功率。
图2说明示范性用户数据模式图201。用户数据模式图201包含用户数据210a及经编码用户数据215a。在存储器单元阵列的编程阶段中执行的编码过程220a可将用户数据210a(U1、…、Um)转换为经编码用户数据215a(E1、…、En)。经编码用户数据215a可存储于一组存储器单元中,所述一组存储器单元可为例如图1的存储器区段101的存储器单元。经编码用户数据215a的每一框可对应于可展现逻辑状态1或逻辑状态0的存储器单元。在本公开的实施例中,在编码过程220a期间,可将数个奇偶校验位添加到用户数据(或有效负载)210a。经编码用户数据215a中的位的数目可大于用户数据210a中的位数目(例如,如果添加一些位(例如,奇偶校验位),那么n大于m)。过程225可在已准确读取经编码用户数据215a之后将经编码用户数据215a转换回到用户数据210a。
在实施例中,待读取的多个经编码位表示码字(CW)。码字可经编程以包含待在读取阶段期间使用的各种信息。为了保持流畅且简单的描述,在下文将仅提及ECC相关信息。
如先前提及,当数字数据存储于存储器(例如图1的存储器单元阵列101’)中时,以使得解码器可识别及校正错误的方式编码数据,即,通过添加数个奇偶校验位来编码数据串,且在将重构原始数据时,解码器检查经编码消息以检查任何错误。在特定实施例中,用户数据位的块经编码以成为n个位的块(即,码字CW),如图2中展示。然而,各种编码方案是可能的。
一般来说,基于编码方案,通过操纵用户数据位且添加数个奇偶校验位来产生码字(例如,如在过程220a中)。在本公开的一些实施例中,经添加奇偶校验位的数目是对应于经定义最大ECC校正功率的固定数目。基于解码方案,接着例如通过图1的ECC单元104从用户数据及奇偶校验数据的经编码集合产生ECC校验子。ECC校验子取决于错误的存在及位置而改变。当检测到错误时,ECC单元104能够取决于且根据所实施的校正功率来校正所述错误。在一些情况下,可报告无法校正错误(例如,超过最大校正功率且其位置未知)的存在。在读回时,根据ECC方案存取及解码码字。
应注意,ECC电路系统的功率消耗取决于其校正功率。例如,在相同条件下,ECC3电路可需要比ECC2电路或ECC1电路更多的功率(其中在一些实例中,ECC3可为具有3个位的校正功率的错误校正码,ECC2可为具有2个位的校正功率的错误校正码,且ECC1可为具有1个位的校正功率的错误校正码)。在任何情况下,对于任何给定的ECC校正功率,相对于在需要校正较多错误时可消耗的功率,在需要校正较少(或无)错误时可消耗较少功率。
为了降低功率消耗,根据本公开,ECC引擎经结构化且经配置使得ECC校验子(及因此对应校验子产生电路)被分成彼此独立地控制的部分。以此方式,在第一步骤计算一个校验子部分(及因此激活对应校验子电路部分),而其它校验子部分可仅在第二步骤中取决于第一经计算校验子部分来计算。此允许通过仅在按需基础上激活ECC电路系统的子集来降低ECC操作的功率消耗。
在一些情况下,第一经计算校验子部分及/或第一及第二经计算校验子部分可指示不存在错误;在此类情况下,可不必要计算第二及/或第三校验子部分,因此节省功率,且可输出数据。如果,相反,第一经计算校验子部分及/或第一及第二经计算校验子部分指示存在一或多个错误,那么可计算额外校验子部分以获得完整校验子。
一旦已计算ECC校验子,那么ECC电路便能够计算码字中的错误数目,且能够针对经检测错误的数目实时(例如,基于错误数目计算)调适其校正功率。例如,当错误数目较低时可选择较低ECC校正,且当错误数目较高时可选择较高ECC校正。
图3展示码字300的实例,码字300包括对应于有效负载(因此包含经编码用户数据)的第一码字部分301及对应于奇偶校验数据的第二码字部分302。应注意,此区别可能有某种随意性;事实上,编码过程(例如图2中的过程220a)可组合及混合用户数据及奇偶校验数据,使得应整体考虑码字。
在此实例中,奇偶校验数据包含存储于被表示为P1、P3及P5的奇偶校验单元中的奇偶校验位。换句话说,在图3的实例中,存储用于计算校验子S1(对应于ECC1)、校验子S3(与S1一起对应于ECC2)及校验子S5(与S1及S3一起对应于ECC3)的若干位。观察到,码字部分302的单个块不必对应于单个单元且还可对应于单元群组,例如,其大体上表示用于计算对应ECC校正功率的校验子的若干位。此外,应理解,虽然在图3中描绘三个保护级别(例如,ECC1、ECC2及ECC3),但可设想任何数目。例如,具有较高(例如,N>3)错误校正能力的实施例是可能的。
因此,根据本公开,用户数据存储于存储器阵列的多个存储器单元中,而且与用户数据相关联的奇偶校验数据存储于数个奇偶校验单元中。在一些实施例中,经存储奇偶校验位的数目是预定的且在操作中不变。
更明确来说,本公开提供根据经存储用户数据及奇偶校验数据计算第一校验子部分,且接着检查所述第一校验子部分是否等于零。接着,基于第一校验子部分的计算,可计算其它校验子部分,特定来说如果所述校验子部分不同于零,那么指示存在错误。
图4是根据本公开的实施例的用于管理存储器装置400(其可对应于图1的存储器装置100)中的ECC操作的操作电路401的示意性框图。如图4中展示,存储器装置400包括用于管理存储器单元阵列400’(其可对应于图1的阵列101’)的操作的操作电路401。操作电路401可为装置的控制器(例如图1的控制器102)的部分,或可在控制器外部,或可具有定位于控制器内的若干组件及定位于控制器外部的若干组件,其中本公开不受特定硬件架构限制。
根据本公开的实施例,操作电路401(在一些实例中,其可对应于图1的ECC单元104)可包含错误校正电路及逻辑,以检测及校正若干位错误(到多基于所实施的ECC码的最大错误数目)。操作电路401可由离散组件(例如特定应用集成电路)或反映由控制器内不一定具有与控制器的其它部分分离的离散物理形式的电路提供的功能性的组件体现。因此,在本公开中,术语“操作电路”以一般且非限制性方式使用。
在若干实施例中,操作电路401可包含单独编码及解码组件。更特定来说,如图4中展示,操作电路401包括编码单元402,编码单元402经配置以根据编码方案产生码字。码字可包括存储于多个存储器单元中的有效负载数据及存储于奇偶校验单元中的与有效负载数据相关联的奇偶校验数据,如关于图3的码字300所展示。
操作电路401进一步包括解码单元403,解码单元403经配置以对经存储码字执行ECC操作(例如位错误检测及/或校正)。因此,操作电路401能够经由编码单元402产生包括有效负载数据及奇偶校验数据的码字,且能够经由解码单元403处理所述码字。编码单元402及解码单元403可彼此可操作地连接且连接到阵列400’。
解码单元403可包括经配置以从存储于输入码字中的用户数据及奇偶校验数据产生ECC校验子的校验子产生单元410。此外,解码单元403可包括错误单元420,错误单元420在检测到错误时被激活,且经配置以考虑码字中所含的错误的数目。解码单元403可进一步包括校验子解码单元430,校验子解码单元430经配置以处理校验子且对经存储数据执行对应ECC操作。
根据本公开,校验子产生单元410包括多个电路,所述电路单独或按群组可形成电路部分,每一电路部分经配置以计算相应校验子部分。每一校验子部分可用于实施ECC校正功率;例如,校验子部分S1可用于实施ECC1,而校验子部分S3可与S1一起用于实施ECC2。每一电路部分可根据第一校验子部分的计算结果由操作电路401选择性地激活。如已针对术语“操作电路”观察到,在本公开中,术语“电路部分”还以一般且非限制性方式使用,且可以数种方式体现。每一校验子部分(或部分的组合)可指示码字中不存在错误,使得不需要校正,或存在某一错误,且应计算额外校验子部分以正确确定错误数目及其校正。
在本公开的一个实施例中,校验子产生单元的电路部分可包括一或多个异或(XOR)电路,例如布置成行及列的矩阵。在一些实施例中,校验子位是从存储器单元读取的码字的许多位的XOR。不同校验子位可具有共同的一些码字位,使得其可共享所述XOR门的一部分。校验子位与码字位之间的关联可由二进制矩阵表示(例如,矩阵中的“1”指示对应码字位促成校验子位,而矩阵中的“0”指示对应位未促成此校验子位)。
在一些实例中,电路部分可单独或按群组激活。在本公开的实施例中,操作电路经配置以选择性地停用与未计算的校验子部分相关的电路部分。
基于此一般架构,本公开提供优化ECC操作以降低功率消耗的技术。更明确来说,根据本公开,操作单元经配置以:激活校验子产生单元的第一电路部分以用于计算第一校验子部分;及基于所述经计算的第一校验子部分决定是否激活至少一个第二电路部分以用于第二校验子部分的计算。例如,操作单元可经配置以在第一校验子部分具有不同于零的至少一个值时激活第二电路部分。
现在参考图5的实例,码字CW经产生且存储在阵列500’(其可对应于图4的阵列400’)中。当码字CW存储于阵列500’中时,可发生错误,此错误在图5中被表示为“e”。接着,将码字CW作为输入馈送到解码单元503(其可对应于图4的解码单元403)。更特定来说,在解码单元503中,由校验子产生单元510(其可对应于图4的校验子产生单元410)产生ECC校验子,如将在下文详述。接着,如果检测到一或多个错误,那么由错误单元520(其可对应于图4的错误单元420)计算错误数目。因此,错误单元520经配置以基于经计算校验子确定数据中的错误数目。在实施例中,错误单元520由第一逻辑单元540激活,第一逻辑单元540经配置以在检测到错误的情况下(例如,当ECC校验子的至少一个值不同于零时)启用所述错误单元520。接着,校验子解码单元530(其可对应于图4的校验子解码单元430)便于接收经计算校验子,且执行ECC操作,使得输出经校正码字。
根据本公开的实施例,校验子产生单元510可包括用于根据码字的输入数据计算ECC校验子的对应部分的多个电路。例如,在一些实施例中,校验子产生单元510可包括用于计算S1的被表示为510’的电路,用于计算S3的被表示为510”的电路,及用于计算S5的被表示为510”’的电路。显然,应理解,即使在图5中仅展示与三个ECC保护级别(即,ECC1、ECC2及ECC3)相关的S1、S3及S5,还可设想任何数目,且本公开不受所展示实例限制。电路510’、510”及510”’可在需要时被激活,且其可单独或彼此组合形成本公开的电路部分。
因此,专门用于计算所需校验子部分的ECC块可由操作电路基于先前计算的结果选择性地启用。以此方式,可基于第一校验子部分计算的结果(例如,S1)来执行第二校验子部分(例如,S3)的按需计算。
观察到,许多配置是可能的;例如,如将在下文详述,在一些配置中,可基于S1的先前计算来计算S3作为第二校验子部分,且在其它配置中,可基于S1及S3的先前计算来计算S5作为第二校验子部分,等等,每一配置取决于第一计算所需的最小信息,此又取决于ECC保护级别。
如果在第一步骤激活第一电路部分(例如,在ECC2的情况下,仅用于计算S1的电路510’),且经计算校验子部分等于零(其指示码字中不存在错误),那么不激活第二电路部分且还不激活错误单元520。另一方面,如果经计算的第一校验子部分不等于All0(其指示码字中存在至少一个错误),那么在第一电路部分之后激活第二电路部分(例如,在ECC2的情况下,用于计算S3的电路510”),且错误单元520经配置以基于所有经计算校验子部分的组合(例如,对于ECC2,基于S1及S3)来确定错误数目。一般来说,根据本公开的实施例,操作电路经配置以在经计算校验子展现不同于零的至少一个值时启用错误单元520。
仍参考图5的实例,操作电路(特定来说解码单元503)包括第二逻辑单元550,所述第二逻辑单元经配置以评估第一校验子部分值,且检测所述经计算的第一校验子部分是否为All0或包括不同于零的至少一个值。在一些实施例中,第二逻辑单元550可为第一单元540的部分,或其可由单独的电路来体现,其中本公开不受特定硬件架构限制。一般来说,操作单元因此包括用于评估经计算校验子部分的值及用于基于所述第一校验子部分的计算选择性地启用一或多个电路部分的构件。
在一些实施例中,解码单元503进一步包括耦合到电路510’(可激活用于计算S1)、510”(可激活用于计算S3)及510”’(可激活用于计算S5)的选择器元件560。例如,选择器560可经配置以最初选择电路部分510’以用于第一校验子部分S1的计算。基于第一校验子部分的计算及因此基于第二逻辑单元550的输出,选择器元件560经配置以选择性地启用一个第二电路部分以计算相应第二校验子部分。在一些实例中,选择器元件560可为多路复用器。在一些实施例中,选择器元件可集成到第一及/或第二逻辑单元中。
例如,在ECC2的情况下,电路510’可最初或始终在作用中,且由第二逻辑单元550处理校验子S1(在此情况下,其为第一校验子部分),且如果S1≠0,那么连接到第二逻辑单元550的选择器元件560激活电路510”以用于S3(在此情况下,其为第二校验子部分)的计算。同样地,在ECC3的情况下,电路510’及电路510”(其在一起形成第一电路部分)可最初或始终在作用中,且由第二逻辑单元550处理校验子S1及S3(在一起形成第一校验子部分),且如果S1≠0及/或S1≠0,那么连接到第二逻辑单元550的选择器元件560还激活电路510”’(在此情况下,其为第二电路部分)以用于S5(在此情况下,其为第二校验子部分)的计算。
已观察到,措辞“第一校验子部分”、“第一电路部分”、“第二电路部分”、“第二校验子部分”及类似者不一定指代单个电路或校验子项,而是可对应于数个电路及校验子项的组合。例如,在ECC3的情况下,第一校验子部分可对应于S1及S3的组合,以及第一电路部分可对应于图5的电路510’及510”。一般来说,校验子产生单元510包括多个电路(例如,图5的电路510’、510”及510”’),所述电路可在逻辑上分组以形成本公开的电路部分。
还应观察到,在不脱离本公开的范围的情况下,可修改图5的所公开实施方案。所说明配置仅为许多可能配置中的一者,且本公开不受图式中所展示的示范性实施例限制。
如果码字的经计算校验子为零,那么对应码字中不存在错误,所述码字在无进一步处理的情况下被传输为输出。
此外,在一些实施例中,待由校验子解码单元530应用的ECC校正功率是基于如由错误单元520计算的经确定错误数目。例如,校验子解码单元530可包括多个校验子解码器电路部分(图式中未展示),每一校验子解码器电路部分经配置以对经存储数据执行特定ECC操作,且可由操作电路选择性地激活,所述操作电路经配置以基于经确定错误数目选择性地激活一或多个校验子解码器电路部分。以此方式,可仅启用校正如所确定的实际错误数目所严格必需的校验子解码器电路部分,而可停用不需要的校验子解码器电路部分。换句话说,可停用用于不同于实际确定的错误数目的若干错误的校正(例如,较高ECC校正功率)的电路部分,以进一步降低功率消耗。
根据本公开的实施例,待计算的第一校验子部分是可根据经定义目标ECC选择的最低部分。一般来说,操作单元经配置以基于目标ECC选择待计算的第一校验子部分,其中目标ECC(或ECC范围,或所实施的ECC)可在设计层级定义。例如,根据一些技术,可实施ECC2校正引擎。在不同情形中(例如,需求较高的应用、不同的成本/性能规格等),可实施ECC3引擎(或较高校正功率)。基于此设计选择,确定对应的第一校验子部分计算(例如,S1或S1+S3等)。
换句话说,根据本公开的实施例,首先选择目标ECC,且接着基于所述目标ECC选择待计算的第一校验子部分。如先前提及,目标ECC可在设计层级选取(例如,其可为例如ECC2、ECC3、ECC4等中的一者),或在不同的实施例中,其可在装置操作期间动态地选择,例如基于阵列的存储器单元的状态。
观察到,由于校验子S1等效于ECC1码,且在一些实施例中,ECC1码具有汉明(Hamming)距离3,因此如果存在零个错误,或在一些情况下存在三个或更多个错误而非具有一个或两个错误,那么所述校验子S1可为All0。同样地,S1及S3的组合等效于ECC2码,在一些实施例中,所述ECC2码具有汉明距离5。因此,在零错误情况下或在五个或更多个错误而非具有一个、两个、三个或四个错误的一些情况下,校验子S1及S3的组合可为All0。一般来说,取决于目标ECC(例如,ECC1、ECC2、ECC3、…),通过检查经计算校验子部分何时为All0,可区分零错误情况与需要ECC校正器的情况。换句话说,对于任何目标ECC,可识别对应第一校验子部分计算,此允许在未检测到错误的情境中(这是最可能的情形)通过跳过任何额外校验子部分计算来加速整个读取操作;这还允许相当大的节能。如果检测到一或多个错误,那么计算额外校验子部分,且仅激活校正经确定错误数目所需的电路,从而导致能量消耗的限制。
图6是列出根据本公开的实施例的校验子部分的计算的实例的表600。在此表中,第一栏601列出目标ECC,即,所要ECC保护,第二栏602列出待根据目标ECC计算的第一校验子部分,且第三栏603列出待在第一校验子部分之后计算的第二校验子部分。
例如,在ECC2的情况下(表600的行(line)600a),计算S1作为第一校验子部分,及接着如果需要,那么启用计算S3作为第二校验子部分是足够的。更特定来说,如果S1=0(即,当存在零错误时),那么不需要计算S3及因此激活相关电路部分。在一个或两个错误的情况下,S1≠0且激活用于S3的计算的电路部分,而当目标ECC是ECC2(即,此后情况超出ECC2范围)时,三个或更多错误的情况是不相关的。
在另一实例中,在扩展ECC2(图6的行600b)的情况下,即,在由额外校验子位(在本文中被表示为S0)特性化的ECC2码的情况下,待计算的第一校验子部分是S1,且当S1不同于零时,除S3外将额外校验子位S0计算为第二校验子部分。
对于较高的ECC校正功率(例如,ECC3、ECC4、ECC5等),计算S1作为第一校验子部分可能不足够,使得在第一步骤可需要其它计算(及因此其它XOR电路的激活),而在第二步骤中可计算较高等级的校验子部分。
在ECC3(表600的行600c)的情况下,检查S1是不足够的,使得将S1及S3两者计算为第一校验子部分以决定是否启用第二校验子部分(在所述实例中,S5)的计算。更特定来说,在此实例中,如果S1=0且S3=0,那么不需要计算S5及激活相关的电路部分。如果,相反,第一校验子部分计算(S1及S3)指示一或多个错误,那么还计算S5,确定实际错误数目,且通过激活(及仅激活)校验子解码器电路部分以进行校正来校正所述错误。
在另一实例中,在扩展ECC3的情况下(图6的行600d),仅计算S1作为第一校验子部分是不足够的,且在第一步骤还计算额外位S0,使得第一校验子部分是S0及S1的组合。基于此第一校验子部分的计算,可决定是否启用S3及S5的计算作为第二校验子部分。换句话说,在此实例中,如果S0=0及S1=0,那么不计算S3及S5及因此不激活相关电路。在替代实施例中,在扩展ECC3的情况下,还可将第一校验子部分计算为S1及S3的组合,且接着,基于此第一校验子部分决定是否启用计算S0及S5作为第二校验子部分。在这些情况中的任一者中,在第二校验子部分计算之后,如果需要,那么确定实际错误数目,且通过激活所需的校验子解码器电路部分来校正所述错误。
根据本公开的另一实施例,由于码字在大多数情况下包括零个或一个错误,且较高数目的错误的发生概率降低数个数量级,因此第一校验子部分的计算可涉及仅计算给定目标ECC校正功率将在理论上需要的校验子的部分。在此情况下,由于通过仅计算最小必要校验子的部分来实施较低保护,因此错误的发生可略高(即,可能发生较小位错误率(BER)损失),但功率消耗进一步降低。换句话说,为了实现进一步功率降低,可接受较小BER增加。
例如,在此实施例中,在实施ECC3的BCH码的情况下,如果仅S1(且非S3)被计算为第一校验子部分,那么有可能相信不存在错误而实际上存在三个错误,使得0.2%的错误三元组可能未被校正,而导致较小BER增加。换句话说,在此实例中,如果S1=0,那么可不存在唯一的错误也不存在一对错误;然而,导致S1=0的三个错误的概率是0.2%,且如果此错误增加是可接受的,那么可不计算S3及S5。因此,可接受较小BER损失以利于经改进功率消耗。观察到,即使在上述实例中实施BCH码,仍可使用其它ECC码,且本公开不限于所展示实例。
现参考表600的行600e,在具有接受的BER损失的ECC3的情况下,第一校验子部分可仅包括S1,且基于S1的计算,可决定是否计算S3及S5作为第二校验子部分。因此,在此实施例中,关于ECC2,仅当S1≠0时可控制及启用S3及S5计算,ECC3同样如此。
现在参考600的行600f,在具有接受的BER损失的扩展ECC3的情况下,待计算的第一校验子部分是S1,且第二校验子部分由S0、S3及S5的组合给出,仅在S1≠0的情况下计算此第二校验子部分。
应观察到,表6中所列出的情况仅为本文中所公开的技术的应用的非限制性实例,且本公开可应用于具有许多其它可能ECC配置的许多其它保护级别。
如先前提及,当计算第一校验子部分时,当存在错误时其还可能等于零,这是因为每一可选择的目标ECC校正功率对应于不同于零直到给定错误数目的校验子。例如,ECC3并不希望于五个错误的情况下给出正确结果;然而,对于ECC3,此错误数目超出选定ECC校正功率的范围,且因此,此并非本文中所公开的技术的障碍。
此外,存储器单元阵列的不同部分可发生不同数目的错误。因此,根据本公开的实施例,阵列的存储器单元可分组成多个部分,每一部分基于所要保护级别根据特定ECC校正功率进行操作。因此,阵列的“部分”是根据本公开的技术操作的存储器单元群组。根据实施例,存储器部分可对应于内部细分,如存储体群组、存储体、区段或存储器的任何其它合适内部细分。此外,存储器部分还可对应于规格/主机细分,如缓冲器、页面,即,高层级的细分。在实施例中,整个存储器阵列可在ECC校正功率方面一致。此外,在一些实施例中,页面可以最大校正功率(其中仅存储P1及P3奇偶校验位)操作,而另一页面可以ECC3最大校正功率(其中存储P1、P3及P5奇偶校验位)操作。可在操作期间动态地修改最大ECC校正功率。例如,可实施后续较低(或较高)最大ECC校正功率(例如,不同于先前最大ECC校正功率)。一部分可对应于码字、存储体、存储体群组、阵列的区段、整个阵列、或甚至缓冲器、页面中的一者,且本公开不受单元分组的方式限制。将阵列细分为数个部分更适合于真实存储器装置。
图7是表示根据本公开的实施例的用于操作存储器单元阵列的方法700的步骤的流程图。所描述的过程可由硬件逻辑及电路执行。例如,以下过程被描述为由如图4及5中所描述的编码402及/或解码403、503单元及/或如本文中所公开的存取电路系统、感测电路系统及ECC电路系统执行。然而,其它实施例可包含适于执行过程的不同电路系统配置。
本公开的方法是一种用于改进具有ECC保护的存储器单元的操作的方法。存取电路系统将数据写入到多个存储器单元。例如,存取电路系统将逻辑0及逻辑1写入到多个存储器单元,例如图1的存储器区段101中的存储器单元。在一个实施例中,存取电路系统可通过施加具有负极性的编程脉冲来写入逻辑0,且通过施加具有正极性的编程脉冲来写入逻辑1。还可采用相反惯例。取决于技术,可将不同编程脉冲施加到存储器单元。在将数据写入到多个存储器单元之后,存取电路系统可读取多个存储器单元且ECC电路系统可确认错误的存在并校正所述错误。
更特定来说,在步骤710,将用户数据存储于存储器阵列的多个存储器单元中,例如,存储于码字中。例如,与步骤710相关联的操作可由编码单元402执行。
在步骤720,将与用户数据相关联的奇偶校验数据存储于存储器阵列的经确定数目个奇偶校验单元中(例如,在码字中)。例如,与步骤720相关联的操作可由编码单元402执行。
接着,根据经存储用户数据及奇偶校验数据计算ECC校验子,其中ECC校验子包括一或多个校验子部分。换句话说,所述校验子部分单独地或彼此组合地对应于给定的ECC保护级别。更特定来说,在步骤730,计算第一校验子部分。
基于第一校验子部分计算,方法包括决定是否计算至少一个第二校验子部分的步骤740。
例如,在一些实施例中,方法包括检查第一校验子部分是否具有不同于零的至少一个值的步骤740’。如果第一校验子部分为All0,那么不计算第二校验子部分(步骤740a),或相反,在步骤740b计算第二校验子部分。
总之,本公开通过按需校验子项计算来提供ECC功率消耗的实时优化。因此,本公开的技术允许ECC电路系统设计中的较大灵活性。一般理念是仅激活与待计算的校验子部分相关的必要电路,而接着可停用未使用的ECC电路系统,从而导致降低的功率消耗。
根据本公开,ECC引擎因此经调适以唤醒块(在本文中被指示为电路部分,例如包含一或多个XOR电路),以用于计算对应校验子部分(例如,S1、S3、S5等)。因此,仅在ECC引擎中启用严格必需的电路。更明确来说,ECC引擎经配置以启用对应于待计算的最小所需校验子部分的最低功率消耗电路部分,且停用其余电路。一般来说,在码字中具有较高数目的错误的概率降低数个数量级,且大多数码字是无错误的或仅含有一个错误,使得在许多情况下,使用ECC电路系统中可用的最高校正功率导致较高功率消耗,但在数据安全性/准确度方面未带来真实益处。根据本文中所公开的技术,通过将校验子产生单元分成可单独激活的不同项来避免上述问题。例如,在一些实施例中,第一电路部分产生校验子的最低阶部分(例如,对于ECC2,在第一步骤仅计算S1);接着,取决于S1值,可决定是否计算其它校验子部分(例如,对于ECC2,S3),且取决于整个校验子,可计算码字中的错误数目。本公开中所公开的技术允许显著功率降低,这是因为在每次计算时仅激活装置电路的子集,而其它部分仅在按需基础上激活。
根据示范性实施例,一种存储器装置包括:阵列,其包含多个存储器单元;及操作单元,其包括编码单元,所述编码单元经配置以将用户数据存储于存储器阵列的多个存储器单元中,且将与用户数据相关联的奇偶校验数据存储于存储器阵列的数个奇偶校验单元中。所述操作电路进一步包括解码单元,所述解码单元包括经配置以根据经存储用户数据及奇偶校验数据计算ECC校验子的校验子产生单元,其中所述校验子产生单元包括多个电路部分,每一电路部分经配置以计算ECC校验子的相应校验子部分,且其中所述操作单元经配置以激活所述校验子产生单元的第一电路部分以用于计算第一校验子部分,及基于经计算的第一校验子部分决定是否激活第二电路部分以用于第二校验子部分的计算。
根据另一示范性实施例,一种存储器装置包括:阵列,其包含多个存储器单元;及控制器,其经配置以:将用户数据存储于所述存储器阵列的多个存储器单元中,将与所述用户数据相关联的奇偶校验数据存储于所述存储器阵列的数个奇偶校验单元中,及根据所述经存储用户数据及奇偶校验数据计算ECC校验子。所述控制器包括多个电路部分,每一电路部分经配置以计算所述ECC校验子的相应校验子部分,其中所述控制器进一步经配置以激活校验子产生单元的第一电路部分以用于基于目标ECC校正功率计算第一校验子部分,及如果所述第一校验子部分具有不同于零的至少一个值,那么激活至少一个第二电路部分以用于第二校验子部分的计算。
本公开还涉及一种用于操作存储器单元阵列的方法,所述方法包括:将用户数据存储于存储器阵列的多个存储器单元中;将与所述用户数据相关联的奇偶校验数据存储于所述存储器阵列的数个奇偶校验单元中;及根据经存储用户数据及奇偶校验数据计算ECC校验子,其中ECC校验子包括一或多个校验子部分,其中计算所述ECC校验子包括:计算第一校验子部分,及基于经计算的第一校验子部分决定是否计算至少一个第二校验子部分。如果未明确地指示,那么方法步骤不一定按所公开序列。
在前述详细描述中,参考形成其一部分的所附图式,且在所附图式中通过说明展示特定实例。在图式中,相同元件符号贯穿若干视图描述大体上类似的组件。在不脱离本公开的范围的情况下,可利用其它实例,且可进行结构、逻辑及/或电气改变。另外,如将了解,图中所提供的元件的比例及相对尺度希望说明本公开的实施例,且不应被视为限制意义。
如本文中所使用,“一”、“一个”或“若干”某物可指代此类事物中的一或多者。“多个”某物意指两个或更多个。如本文中所使用,术语“耦合”可包含电耦合、不具有中介元件的直接耦合及/或直接连接(例如,通过直接物理接触),或运用中介元件间接耦合及/或连接。术语耦合可进一步包含彼此协作或交互(例如,如成因果关系)的两个或更多个元件。
尽管已在本文中说明及描述特定实例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所展示的特定实施例。本公开希望涵盖本公开的一或多个实施例的调适或变化。应理解,已以阐释性方式而非限制性方式进行上述描述。应参考所附权利要求书以及此类权利要求书所授权的等效物的全范围来确定本公开的一或多个实例的范围。
Claims (23)
1.一种存储器装置,其包括:
-阵列,其包含多个存储器单元;及
-操作单元,其包括:
-编码单元,其经配置以:
-将用户数据存储于存储器阵列的多个存储器单元中;及
-将与所述用户数据相关联的奇偶校验数据存储于所述存储器阵列的数个奇偶校验单元中,
-解码单元,其包括经配置以根据所述经存储用户数据及奇偶校验数据计算ECC校验子的校验子产生单元,
其中所述校验子产生单元包括多个电路部分,每一电路部分经配置以计算所述ECC校验子的相应校验子部分,且
其中所述操作单元经配置以:
-激活所述校验子产生单元的第一电路部分以计算第一校验子部分;及
-基于所述经计算的第一校验子部分决定是否激活第二电路部分以计算第二校验子部分。
2.根据权利要求1所述的存储器装置,其中所述操作单元经配置以在所述第一校验子部分具有不同于零的至少一个值的情况下激活所述第二电路部分。
3.根据权利要求1所述的存储器装置,其中所述操作单元经配置以基于目标ECC选择待计算的所述第一校验子部分。
4.根据权利要求1所述的存储器装置,其中所述第一校验子部分是其计算需要较少功率的部分。
5.根据权利要求1所述的存储器装置,其包括用于评估所述经计算校验子部分的所述值及用于基于所述第一校验子部分的所述计算选择性地启用一或多个电路部分的构件。
6.根据权利要求1所述的存储器装置,其包括经配置以基于所述经计算校验子部分确定所述数据中的错误数目的错误单元。
7.根据权利要求6所述的存储器装置,其中如果在所述第一电路部分之后激活至少一个第二电路部分,那么所述错误单元经配置以基于所有所述经计算校验子部分的组合来确定所述错误数目。
8.根据权利要求6所述的存储器装置,其中操作电路经配置以在所述经计算校验子展现不同于零的至少一个值的情况下启用所述错误单元。
9.根据权利要求6所述的存储器装置,其中所述操作单元包括校验子解码单元,所述校验子解码单元经配置以接收所述经计算校验子且基于经确定错误数目来实施ECC操作。
10.根据权利要求9所述的存储器装置,其中所述校验子解码单元包括多个校验子解码器电路部分,每一电路部分经配置以对所述经存储数据执行特定ECC操作,且可由所述操作电路选择性地激活,所述操作单元经配置以基于所述经确定错误数目选择性地激活一或多个校验子解码器电路部分。
11.根据权利要求1所述的存储器装置,其中所述阵列被划分为多个部分,所述多个部分中的每一部分可以相应ECC校正功率操作,且其中一部分对应于码字、存储体、存储体群组、所述阵列的区段、整个阵列、缓冲器及页面中的一者。
12.根据权利要求1所述的存储器装置,其中所述校验子产生单元的所述电路部分包括多个异或电路。
13.一种用于操作存储器单元阵列的方法,所述方法包括:
-将用户数据存储于存储器阵列的多个存储器单元中;
-将与所述用户数据相关联的奇偶校验数据存储于所述存储器阵列的数个奇偶校验单元中;及
-根据所述经存储用户数据及奇偶校验数据计算ECC校验子,其中所述ECC校验子包括一或多个校验子部分,
其中计算所述ECC校验子包括:
-计算第一校验子部分;及
-基于所述经计算的第一校验子部分决定是否计算第二校验子部分。
14.根据权利要求13所述的方法,其包括在所述第一校验子部分具有不同于零的至少一个值的情况下计算所述第二校验子部分。
15.根据权利要求13所述的方法,其包括基于目标ECC选择待计算的所述第一校验子部分。
16.根据权利要求15所述的方法,其中计算所述第一校验子部分包括:仅计算整个第一校验子部分中给定目标ECC校正功率将需要的部分。
17.根据权利要求13所述的方法,其包括基于经计算的所述ECC校验子部分确定所述数据中的错误数目,其中如果在所述第一校验子部分之后计算至少一个第二校验子部分,那么基于所有所述经计算校验子部分的组合来确定所述错误数目。
18.根据权利要求13所述的方法,其中所述ECC校验子由校验子产生单元计算,所述校验子产生单元包括多个电路部分,每一电路部分可经激活以计算相应校验子部分,其中计算所述ECC校验子包括:
-激活所述校验子产生单元的第一电路部分以计算所述第一校验子部分;及
-基于所述经计算的第一校验子部分决定是否激活第二电路部分以计算所述第二校验子部分。
19.根据权利要求13所述的方法,其包括将所述经计算校验子发送到校验子解码单元,且经由所述校验子解码器实施ECC操作,所述方法进一步包括基于经确定错误数目选择性地激活所述校验子解码器的一或多个电路部分,每一电路部分对所述经存储数据执行相应ECC操作,以基于所述经确定错误数目选择多个ECC校正能力中的ECC校正能力。
20.一种存储器装置,其包括:
-阵列,其包含多个存储器单元;及
-控制器,其经配置以:
-将用户数据存储于存储器阵列的多个存储器单元中;
-将与所述用户数据相关联的奇偶校验数据存储于所述存储器阵列的数个奇偶校验单元中;及
-根据所述经存储用户数据及奇偶校验数据计算ECC校验子,
其中所述控制器包括多个电路部分,每一电路部分经配置以计算所述ECC校验子的相应校验子部分,及
其中所述控制器进一步经配置以:
-激活校验子产生单元的第一电路部分以基于目标ECC校正功率计算第一校验子部分;及
-如果所述第一校验子部分具有不同于零的至少一个值,那么激活第二电路部分以计算第二校验子部分。
21.根据权利要求20所述的存储器装置,其包括经配置以评估所述第一校验子部分的逻辑单元,及用于基于所述逻辑单元的所述评估选择性地启用一或多个电路部分的选择器元件。
22.根据权利要求20所述的存储器装置,其包括经配置以基于经计算的所述ECC校验子部分确定所述数据中的错误数目的错误单元,其中如果在所述第一电路部分之后激活至少一个第二电路部分,那么所述错误单元经配置以基于所有所述经计算部分的组合来确定所述错误数目。
23.根据权利要求20所述的存储器装置,其中所述控制器经配置以仅计算整个第一校验子部分中所述给定目标ECC校正功率将需要的部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2021/022225 WO2023067367A1 (en) | 2021-10-18 | 2021-10-18 | Ecc power consumption optimization in memories |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118119929A true CN118119929A (zh) | 2024-05-31 |
Family
ID=86058862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180103410.7A Pending CN118119929A (zh) | 2021-10-18 | 2021-10-18 | 存储器中的ecc功率消耗优化 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN118119929A (zh) |
WO (1) | WO2023067367A1 (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1612949B1 (en) * | 2004-06-30 | 2010-04-21 | STMicroelectronics Srl | Method and system for correcting errors in electronic memory devices |
US8635514B2 (en) * | 2011-02-28 | 2014-01-21 | Micron Technology, Inc. | Error control in memory storage systems |
US8745472B2 (en) * | 2012-09-01 | 2014-06-03 | Texas Instruments Incorporated | Memory with segmented error correction codes |
US9654143B2 (en) * | 2014-06-18 | 2017-05-16 | Intel Corporation | Consecutive bit error detection and correction |
US10998920B1 (en) * | 2020-02-26 | 2021-05-04 | Apple Inc. | Overcoming saturated syndrome condition in estimating number of readout errors |
-
2021
- 2021-10-18 CN CN202180103410.7A patent/CN118119929A/zh active Pending
- 2021-10-18 WO PCT/IB2021/022225 patent/WO2023067367A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
TW202329148A (zh) | 2023-07-16 |
WO2023067367A1 (en) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109196479B (zh) | 存储器中的错误校正码(ecc)操作 | |
US9898363B2 (en) | Data storage device and operating method thereof | |
CN110347530B (zh) | 数据存储装置及其操作方法 | |
US20210143842A1 (en) | Error correction code (ecc) operations in memory for providing redundant error correction | |
US11810627B2 (en) | Selective read disturb sampling | |
CN116266473A (zh) | 存储器装置交叉矩阵奇偶校验 | |
US11714558B2 (en) | Predictive memory management | |
US10431324B2 (en) | Data storage device for performing decoding operation and operating method thereof | |
CN117666943A (zh) | 存储控制器、包括其的存储装置及其操作方法 | |
US11996860B2 (en) | Scaled bit flip thresholds across columns for irregular low density parity check decoding | |
US20190332322A1 (en) | Memory system including resistive variable memory device and operating method thereof | |
TW202240389A (zh) | 具有改良的錯誤更正碼(ecc)架構之記憶體裝置 | |
TWI842137B (zh) | 記憶體中之錯誤更正碼功率消耗優化 | |
US11830545B2 (en) | Data programming techniques to store multiple bits of data per memory cell with high reliability | |
CN118119929A (zh) | 存储器中的ecc功率消耗优化 | |
WO2023047149A1 (en) | Improved ecc configuration in memories | |
US20240221857A1 (en) | Methods and systems for reducing ecc power consumption | |
US20240103741A1 (en) | Providing multiple error correction code protection levels in memory | |
CN116940986A (zh) | 用于减少ecc功率消耗的方法及系统 | |
US20240221856A1 (en) | Memory device having an improved ecc architecture | |
US11934267B1 (en) | Data inversion and unidirectional error detection | |
US20240194284A1 (en) | Methods and systems for improving ecc operation of memories | |
CN114333943A (zh) | 阻变存储器的写操作方法及系统 | |
WO2022245999A1 (en) | Codeword error leveling for 3dxp memory devices | |
CN117632579A (zh) | 存储器控制方法和存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |