CN117980994A - 存储器中经改进的ecc配置 - Google Patents
存储器中经改进的ecc配置 Download PDFInfo
- Publication number
- CN117980994A CN117980994A CN202180102620.4A CN202180102620A CN117980994A CN 117980994 A CN117980994 A CN 117980994A CN 202180102620 A CN202180102620 A CN 202180102620A CN 117980994 A CN117980994 A CN 117980994A
- Authority
- CN
- China
- Prior art keywords
- ecc
- granularity
- correction capability
- register
- memory
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 301
- 238000012937 correction Methods 0.000 claims abstract description 164
- 238000000034 method Methods 0.000 claims abstract description 72
- 230000008859 change Effects 0.000 claims abstract description 31
- 238000012360 testing method Methods 0.000 claims description 10
- 238000005259 measurement Methods 0.000 claims description 9
- 230000003213 activating effect Effects 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims description 2
- 235000019580 granularity Nutrition 0.000 description 157
- 230000007547 defect Effects 0.000 description 22
- 238000005192 partition Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 12
- 230000036541 health Effects 0.000 description 10
- 230000007423 decrease Effects 0.000 description 9
- 230000032683 aging Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 208000011580 syndromic disease Diseases 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 3
- 206010011906 Death Diseases 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000001427 coherent effect Effects 0.000 description 2
- 230000001351 cycling effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000007420 reactivation Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 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
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- 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
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
Abstract
本公开涉及一种用于操作存储器胞元阵列的方法,所述方法包括:将用户数据存储于所述阵列的多个存储器胞元中;将与所述用户数据相关联的奇偶校验数据存储于所述阵列的多个奇偶校验胞元中;及基于所述所存储奇偶校验数据,选择将根据其来执行错误校正码(ECC)操作的ECC校正能力及/或ECC粒度,其中通过以下步骤确定所述ECC校正能力及/或所述ECC粒度的所述选择:更新第一寄存器,所述第一寄存器包括指示待基于所述存储器胞元的当前状态应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的值,其中基于所述存储器胞元的所述当前状态的变化来更新所述第一寄存器的所述值,且其中所述第一寄存器的所述值的更新对应于待应用于所述存储器胞元的所述所需ECC校正能力及/或所需ECC粒度的变化;及基于所述第一寄存器的所述更新值,执行ECC切换命令,其中所述ECC切换命令致使改变先前所选择ECC校正能力及/或先前所选择ECC粒度,所述方法进一步包括:根据所述经改变ECC校正能力及/或ECC粒度更新第二寄存器,所述第二寄存器包括指示基于所述存储器胞元的所述当前状态应用于所述存储器胞元的所述所选择ECC校正能力及所述所选择ECC粒度的值。本文中还公开相关设备及系统。
Description
技术领域
本公开大体上涉及存储器胞元阵列的管理及操作,且更特定来说涉及用于改进存储器中的错误校正码(ECC)配置的方法、设备及系统。
背景技术
存储器装置用于许多电子系统中,例如移动电话、个人数字助理、膝上型计算机、数码相机及类似者。各种类型的存储器用于存储器装置中,包含随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)等等。存储器装置可为易失性的或非易失性的。非易失性存储器在电力关断时留存其内容,使其成为存储器装置中用于存储将在系统重新激活之后检索的信息的良好选择。特定来说,非易失性存储器胞元可甚至在不存在外部电源的情况下维持其存储逻辑状态达延长时段。
在存储器装置中,通过编程其不同状态而存储信息。举例来说,二进制装置具有两个状态,其通常通过逻辑“1”或逻辑“0”表示。在其它系统中,可存储多于两个状态。为存取所存储的信息,存储器装置的组件可读取或感测存储状态。为存储信息,存储器装置的组件可写入或编程逻辑状态。
改进存储器装置可包含增加存储器胞元密度、增加读取/写入速度、增加可靠性、增加数据保留、减少制造成本、缩放到小于传统装置以及减少功率消耗。
归因于例如存取数目、制程质量、环境因素及类似者的各种因素,存储器胞元在其寿命周期期间具有不同物理及电特性。错误校正码(ECC)通常根据存储器装置的胞元的定义状态(例如,胞元的寿命终止可靠性)进行校准,且因此通常以其最高校正功率使用。因此,通常存在过度功率消耗。因此,可期望在存储器装置的整个寿命内改进功率消耗性能且在ECC管理中具有更好灵活性。
附图说明
图1是可根据本公开操作的系统的示意性框图;
图2是根据本公开的实施例编码的用户数据型式的实例;
图3展示包含数个奇偶校验位的实例码字;
图4A到4C展示选择ECC校正能力及ECC粒度的实例;
图5展示根据本公开的实施例的实例可选择数据配置;
图6A及6B是展示作为根据本公开的实施例的技术的结果的功率消耗相对于时间的曲线图;
图7A及7B展示根据本公开的实施例的寄存器的实例;
图8展示根据本公开的实施例的ECC切换命令应用的实例;
图9是根据本公开的实施例的方法的步骤的流程图;
图10A及10B是表示根据不同存储器技术的基于使用期限计数器选择ECC保护水平的技术的流程图;
图11是表示基于经计数错误频率选择ECC保护水平的技术的流程图;
图12示意性地展示经受测试操作的存储器阵列的单独部分;及
图13A及13B是表示经实施ECC保护水平选择技术的成本相对于阵列的胞元的老化的示意性实例曲线图。
具体实施方式
参考图式,本文中将公开存储器胞元的改进操作的方法、设备及系统。
在以下详细描述中,阐述许多具体细节来提供对所主张标的物的透彻理解。然而,所属领域的技术人员将了解,可在无这些具体细节的情况下实践所主张标的物。在其它例子中,尚未详细描述所属领域的一般技术人员将已知的方法、设备及/或系统以免混淆所主张标的物。
非易失性存储器在电力关断时留存其内容,使其成为用于存储将在系统重新激活之后检索的信息的良好选择。举例来说,快闪存储器是一种类型的非易失性存储器,其留存所存储数据且其特征在于极快存取时间。此外,其可以块而非一次一个字节进行擦除。存储器的每一可擦除块包括布置成行及列的矩阵的多个非易失性存储器胞元。每一胞元耦合到存取线及/或数据线。通过操纵存取线及数据线上的电压而编程及擦除胞元。存取电路系统可区分存储器胞元的不同逻辑状态。举例来说,就存储器读取来说,存取电路系统将具有特定量值及极性的电压脉冲施加到存取线,此导致专用感测电路系统可检测的电响应。检测电响应可包含(举例来说)检测以下中中的一或多者:跨阵列的给定存储器胞元的端子的电压降(例如,阈值电压)、通过给定存储器胞元的电流及给定存储器胞元的阈值事件。
在本公开中,术语“耦合”可涉及直接或间接地物理、电及/或通信连接的元件,且在本文中可与术语“连接”互换使用。物理耦合可包含直接接触。电耦合包含允许组件之间的电流动及/或信令的接口或互连。通信耦合包含使组件能够交换数据的连接,包含有线及无线连接。
图1是根据本公开的实例实施例的包括存储器装置100的系统1000的示意性高阶框图,此存储器装置100经编程以执行下文公开的ECC技术。存储器装置100可为受管理存储器装置,其在本文中也被称为存储器设备。存储器装置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引擎)),其经配置以根据下文中描述的技术操作。
根据本公开的实施例,ECC单元104可包含检测及校正数个位错误的错误校正电路系统。ECC单元104不限于电路系统(例如,硬件)实施方案。例如,可在硬件、固件及/或软件中实施ECC单元104。
可通过例如特定应用集成电路(ASIC)的离散组件或通过反映由控制器102内的电路系统提供的功能性的组件具体实施ECC单元104,所述电路系统不一定具有与控制器102的其它部分分离的离散物理形式。尽管说明为控制器102内的组件,但ECC单元104可在控制器102外部或可具有定位于控制器102内的数个组件及定位于控制器102外部的数个组件,其中本公开不受限于特定硬件架构。在数个实施例中,ECC单元104可包含单独编码及解码组件。
换句话说,可如下文公开那样编程的ECC单元104的错误检测/校正电路系统可包含硬件逻辑以实施ECC以检测发生于从存储器区段101读取的数据中的错误。在一个实施例中,错误检测/校正电路系统还校正错误(直到基于所实施ECC码的特定错误率)。
存储器装置100的存储器区段101可包含包括存储器胞元阵列的快闪存储器,举例来说,NAND存储器、NOR存储器、AND存储器及类似者。额外地或替代地,存储器区段101可包括位可变存储器胞元;举例来说,相变存储器(PCM)、铁电存储器(FeRAM)、磁性存储器(MRAM)、基于硫属化物的自选择存储器(SSM)等。在本公开的实施例中可采用任何种类的存储器。举例来说,本公开适用于非易失性及易失性存储器中的任一者或两者。
一般来说,存储器区段101可包括存储器胞元阵列101'。存储器胞元阵列101'可包括多个块,每一块在本文中用元件符号101”指示且包括定义数目个页面。为了简单起见,图1的实例中仅展示四个块101”。
存储器区段101表示存储器装置100的存储器资源。在一个实施例中,存储器区段101的存储器胞元阵列101'经管理为经由字线(行)及位线(行内的个别位)控制来存取的数据行。存储器胞元阵列101'可经组织为单独通道、阶级及存储体,一般来说,组织成多个部分。通道是到存储器区段内的存储位置的独立控制路径。阶级是指跨多个存储器装置的共同位置(例如,不同装置内的相同行地址)。存储体是指存储器装置内的存储器位置的阵列。在一个实施例中,将存储体分成子存储体及用于子存储体的共享电路系统(例如,驱动器、信号线、控制逻辑)的至少一部分。将了解,存储器位置的通道、阶级、存储体、或其它组织、及组织的组合可与物理资源重叠。举例来说,相同物理存储器位置可作为特定存储体(其还可属于阶级)经由特定通道存取。因此,将以包含性而非排他性方式理解存储器资源的组织。
根据本公开的实施例,存储器胞元阵列101'可根据需求及/或环境进行细分,且可考量页面、单一块、块群组或甚至全部块(即,全部胞元),本发明不限于此。因此,存储器胞元可被分组(例如)成包含数个物理页面的数个块。数个块可包含于存储器胞元的平面中且阵列可包含数个平面。
实施例不限于特定类型的存储器阵列或阵列架构且本公开的技术可应用于数个存储器技术(例如,平面、交叉点、3D等)。
存储器区段101还可包括可操作地耦合到存储器胞元阵列101'的电路部分105,以及其它硬件组件。
在一个实施例中,电路部分105包含存取电路系统及感测电路系统以检测一或多个存储器胞元对施加读取电压的电响应。在一个实施例中,感测电路系统包含感测放大器。图1说明嵌入于存储器区段101中的电路部分105;然而,其它实施例可包含与存储器区段101分离的存取电路系统及/或感测电路系统。举例来说,存取电路系统及感测电路系统可包含于例如存储器控制器102的存储器控制器中。
此外,存储器装置100可包括经配置以考量存储器胞元阵列101'的存储器胞元的状态且用于确定触发事件以激活ECC单元104的计数单元106。
更特定来说,计数单元106可包括第一计数器106'及第二计数器106”。第一计数器106'可经配置以考量存储器胞元阵列101'(或其部分)的使用期限,如下文中将公开。举例来说,根据下文公开的实施例,第一计数器106'可倾向于对存取数目,或刷新事件的数目,或通电事件的数目,或其组合进行计数。根据下文公开的实施例,第二计数器106”可经配置以对通过ECC单元104检测的错误数目进行计数。
在图1的实例中,即使其它架构是可能的且计数单元106还可在控制器102外部并连接到控制器102,计数单元106被描绘为集成到控制器102中。在又其它实施例中,计数单元106以及其它组件可集成到存储器区段101中,其还可包括其自身的控制器,且许多其它架构是可能的。
此外,存储器装置100(特定来说,存储器区段101的存储器胞元阵列101')可包括倾向于存储操作信息以举例来说用于管理根据下文中公开的实施例的存储器阵列的非易失性区107。
在实施例中,存储器装置100还可包括感测单元108,所述感测单元包括可操作地耦合到存储器区段101且任选地耦合到控制器102的一或多个传感器。感测单元108可经配置以检测存储器胞元阵列101'或其一部分的特征(例如,温度)。在一些实施例中,即使本公开不受限于特定硬件架构,感测单元108还可集成于存储器区段101中。
通常,存储器装置100的特定架构可根据需求及/或环境变化而不限制本公开的范围。
主机110及存储器装置100可形成系统1000。如之前提及,主机装置110是根据本文中描述的任何实施例的运算装置,且可为膝上型计算机、台式计算机、服务器、游戏或娱乐控制系统、扫描器、复印机、打印机、路由或交换装置、嵌入式运算装置、或其它电子装置(例如智能电话)。主机110通常可为管理存储器区段101的系统,所述存储器区段可嵌入所述系统中或通常通过所述系统管理。因此,可通过外部控制器(且因此不仅通过控制器102)(即,嵌入主机110的处理器110'中的控制器,如先前公开)管理存储器装置100,使得ECC单元还可包含于所述外部控制器中。在此情况中,可能不存在存储器装置的控制器(或所述控制器可执行不同任务)且存储器装置100(其可嵌入主机110中)将所需信息传达到外部控制器。
在一个实施例中,系统1000包含耦合到处理器110'的接口1010,其可表示需要较高频宽连接的系统组件及/或图形接口组件的较高速度接口或高输送量接口。图形接口介接到图形组件以向系统1000的用户提供视觉显示。在一个实施例中,图形接口基于存储于存储器装置中的数据或基于由处理器执行的操作或两者来产生显示。
系统还可包括通信耦合到主机或存储器装置(举例来说)以与其它系统连接的网络接口1020及/或经耦合以将电力提供到所述系统的电池。
根据本公开,ECC单元104可经配置以对存储于存储器区段101中的码字执行具有特定错误校正能力的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)。在已准确读取经编码用户数据215a之后,过程225可将经编码用户数据215a转换回到用户数据210a。
在实施例中,待读取的多个经编码位表示码字(CW)。码字可经编程以包含在读取阶段期间使用的各种信息。为保持流畅及简单描述,在下文中,将仅参考ECC相关信息。应理解,额外位可不包含严格的ECC相关信息。实例可包含加密位、加扰位、平衡或准平衡码的位(例如,以实现给定逻辑状态中的位的预定义百分比,或在其百分比范围内,例如1或0的50%)及/或其它用途额外位。
如先前提及,在将数据存储于存储器胞元(例如图1的存储器胞元阵列101')中时,以解码器可识别并校正错误的方式对数据进行编码,即,通过添加数个奇偶校验位而对数据串进行编码。在将重建原始数据时,解码器检验经编码消息以针对任何错误进行检查。在某些实施例中,用户数据位的块经编码成为n个位的块(即,码字CW),如图2中展示。然而,各种编码方案是可能的。
在存储器阵列的使用期限期间,与存储于存储器胞元中的数据相关联的位错误率(BER)基于例如(举例来说)对存储器胞元的存取数目、保留时间、过程质量、环境(空间、电力供应电压、操作及存储温度等)及类似者的数个因素而演变。对于一些技术,BER通常在裸片寿命开始时较佳且在寿命结束时最差,而对于一些其它技术,与在裸片的寿命开始及结束时相比,BER可在一些周期之后(例如,在形成程序之后)更好。
本公开提供订制BER的演变且基于存储器胞元的当前状态选择适当保护的技术。换句话说,本公开提供根据存储器阵列的胞元的状态精确地定义待应用于所述胞元的ECC校正能力(或ECC保护水平)及ECC粒度的技术。在本公开的背景内容中,胞元的“状态”意味着其操作条件或通常其健康状况,且因此与指示存储器胞元的条件的物理参数有关(例如,与BER有关)。如上文提及,存储器胞元或多个存储器胞元的状态通常可取决于数个当前及过去参数。因此,本公开的原理及所公开的架构特征可应用于若干种类型的易失性或非易失性存储器,其展示其存储器胞元的时变状态。
根据本公开的实施例,在编码方案的基础上,产生码字(例如,如在过程220a中),从而操纵用户数据位且添加数个奇偶校验位(待检测及校正的潜在错误越多,必需的奇偶校验位越多)。接着,ECC单元104可根据所选择ECC保护水平及所选择ECC粒度产生码字。基于解码方案,(例如)凭借图1的ECC单元104从用户及奇偶校验数据的经编码集合产生ECC校正子。ECC校正子取决于错误的存在及位置而改变。当检测到错误时,ECC单元104能够取决于且根据实施的校正能力校正所述错误。在一些情况中,可报告不可校正错误的存在(例如,其位置未知)。如下文中将论述,所应用的ECC保护水平及/或ECC粒度可在操作中改变。
所存储奇偶校验位的数目及最大ECC校正能力本质上相互关联。在装置的存储器区段(例如(举例来说)图1的存储器区段101或其一部分)的配置期间,可分配数个奇偶校验位用于存储奇偶校验信息且执行ECC技术以检测及校正错误。如下文中将论述,在一些实施例中,可固定地分配所述数个奇偶校验位,而在其它实施例中,所述数目可随着存储器胞元的状态而变化。在任何情况中,在回读时,根据所选择ECC方案存取且解码码字(包含用户数据及奇偶校验位)。具有给定最大校正能力的ECC引擎单元(例如图1的ECC单元104,举例来说,其可在硬件中实施)可以各自需要对应数目个奇偶校验位的不同校正能力操作。举例来说,(在编码或解码中)可分别针对更低或更高ECC保护水平且针对不同ECC粒度而考量更少或更多奇偶校验位;对应地,消耗更小或更高功率。
有利地,根据本公开的实施例,可基于阵列的存储器胞元的状态选择ECC校正能力及ECC粒度。换句话说,ECC保护动态地适用于存储器胞元健康状况且仅在必要时(即,在存储器胞元的状态需要其时)变化(例如,增加或在一些情况中减少)。因此,根据本公开的实施例,在将用户数据(即,码字的有效负载内容)存储于存储器阵列的多个存储器胞元中时,奇偶校验数据还存储于与用户数据相关联的存储器阵列的奇偶校验胞元中,且基于所述多个存储器胞元的状态选择在ECC操作期间使用的奇偶校验位的数目。
如图3中展示,实例码字300可包括对应于有效负载(因此,包含经编码用户数据)的第一码字部分301及对应于奇偶校验数据的第二码字部分302。应注意,此区分可为任意的;事实上,编码过程(例如图2中的过程220a)可将用户数据及奇偶校验数据组合及混合,使得应将码字作为一个整体来考量,如下文中将关于图5公开。
当需要最小保护时,可仅使用减少数目个奇偶校验位,举例来说以计算对应于ECC1的校正子(在一些实例中,ECC1可为具有1位的校正能力的错误校正码)。当ECC保护必须增加时,可使用增加数目个奇偶校验位,举例来说以计算对应于ECC2的校正子(在一些实例中,ECC2可为具有2个位的校正能力的错误校正码)。当保护必须处于最大水平时,可使用更大数目个奇偶校验位,举例来说以计算对应于ECC3的校正子(在一些实例中,ECC3可为具有3个位的校正能力的错误校正码)。
应理解,虽然本公开涉及三个保护水平(例如,ECC1、ECC2及ECC3),但可设想任何数目。举例来说,具有较高(例如,N>3)错误校正能力的实施例及/或以根本无ECC保护为特征的实施例(例如,并未出于错误校正其目的而将奇偶校验位添加到码字)是可能的。更特定来说,在以下描述中,将参考其中三个ECC引擎(例如,ECC1、ECC2及ECC3)可用于存储器装置的每一分区上的非限制性实例,其中每一ECC引擎可在16字节、32字节或64字节ECC粒度上操作。此外,在此非限制性实例中,读取/写入存取粒度可为16字节、32字节或64字节,而无关于所选择ECC引擎及ECC粒度。在各个实施例中,可实时或通过配置寄存器选取读取/写入粒度。在装置的使用期限期间,可禁止使用ECC引擎及/或ECC粒度。应理解,此仅为展示本公开的技术的非限制性实例且可根据需求及/或环境选择其它ECC校正能力、ECC粒度及读取/写入粒度。在本公开的背景内容中,ECC粒度可被定义为ECC被定义及操作的数据块大小,且其可基于存储器胞元的状态而动态地变化。
在图3的实例中,码字300包括指示为P1、P3及P5的奇偶校验位,其可用于执行ECC3操作。观察到,在图3中,码字部分302的单一块不必对应于单一胞元且还可对应于胞元群组,例如,其通常表示针对对应ECC保护水平计算校正子的位数目。
在一个实施例中,所存储奇偶校验位的数目不变(例如,码字300始终包括P1、P3及P5奇偶校验位)且通过使用特定数目个所述所存储奇偶校验位而选择所要ECC保护。
在其它实施例中,在操作中根据所要ECC校正能力及ECC粒度改变所存储奇偶校验位的数目。在此情况中,在最大数目与最小数目之间选择所存储奇偶校验位的数目,且ECC校正能力及ECC粒度的变化对应于所使用奇偶校验胞元的数目的变化。换句话说,当胞元的状态需要其时,可仅存储执行所需ECC操作必需的奇偶校验位,因此(举例来说)在需要较低ECC保护时,减少与奇偶校验相关联的存储器胞元的数目。有利地,降低ECC保护水平(例如,在BER对应较低时)允许减少与奇偶校验相关联的所使用存储器胞元的数目且因此降低功率消耗。
在任何情况中,当选择待存储奇偶校验位的数目时,定义可选择ECC校正能力及ECC粒度组合的数目。接着,基于存储器胞元的状态,可改变特定ECC校正能力及ECC粒度,直到如通过所存储奇偶校验位的数目允许的最大数目。每一可选择配置(即,ECC校正能力及ECC粒度的每一组合)需要不同数目个奇偶校验位,其可基于可接受开销而存储于阵列中。举例来说,当接受每一用户16字节数据部分的7%开销(对应于18个所存储奇偶校验位,在一些实例中,其是用于实施具有32字节ECC粒度的ECC2引擎的奇偶校验位)时,那么基于胞元的状态,可选择以下组合:ECC1及16字节ECC粒度,ECC1及ECC2及32字节ECC粒度,及ECC1、ECC2及ECC3及64字节ECC粒度。显然,可根据需求及/或环境存储不同数目个奇偶校验位,从而导致不同选择可能性。存储的奇偶校验位越多,允许的配置越多;举例来说,可以18.75%开销(对应于16字节数据块的24个存储奇偶校验位)实现较大灵活性,其中可启用ECC1到ECC3及16字节到64字节ECC粒度之间的全部组合。更特定来说,在一些实例中,待用于实施具有32字节ECC粒度的ECC2引擎的7%奇偶校验高于待用于实施具有16字节ECC粒度的ECC1的奇偶校验,使得16字节数据段上的7%开销覆盖具有16字节ECC粒度的ECC1,但对于具有16字节ECC粒度的ECC3来说是不够的。
根据本公开的实施例,可基于所要操作模式定义待应用于存储器胞元的ECC校正能力、ECC粒度及还写入/读取数据存取粒度的时间演变。可通过针对存储器胞元的每一定义状态在全部可选择ECC校正能力、ECC粒度及写入/读取数据存取粒度中(例如,在如通过胞元的特定状态(例如,健康)允许的全部能力及粒度中)选择应用于所述存储器胞元的ECC校正能力、ECC粒度及写入/读取数据存取粒度的特定组合而定义此时间演变。最初可通过基于可接受开销选择待存储的奇偶校验位的数目而定义全部可能启用组合的最大数目,如先前公开。接着,可能配置的总数随着时间以及存储器胞元的状态而变化;举例来说,如果存储器胞元的健康状况随时间降级,那么可选择配置的数目还减少,这是因为可能不再选择较低保护配置以便获取适当错误保护。
图4A到4C展示在自其中全部配置理论上可能的胞元的状态(情况401,其中允许从ECC1到ECC3及从16B到64B粒度的选择)到其中仅16B上的ECC3确保适当保护的胞元的状态(情况409,举例来说,当胞元高度降级时)的装置使用期限(从情况401到情况409)期间的可选择ECC配置的实例演变方案,其中较暗框表示全部可选择配置且较亮框表示禁止配置。在此情况中,假设存储足够数目个奇偶校验位以便启用情况401中的全部所描绘配置。应理解,这些图仅为可能ECC配置的实例,且可在存储器胞元的阵列的寿命期间采用许多其它配置。这些图展示取决于胞元状态及用户的需求,本公开允许ECC校正能力及ECC粒度的选择的极大灵活性。当胞元健康状况降级时,可选择较少ECC配置,如通过图4A的较亮框展示,其数目从情况401增加到情况409;特定来说,为在胞元健康状况降级时始终具有最优错误保护,可仅选择较高ECC引擎及/或较低ECC粒度。
举例来说,在装置使用期限期间,配置可独立于存取粒度根据以下各者以序列演变:可选择任何ECC粒度及任何ECC引擎(方案401),可仅针对32个字节及16个字节粒度选择ECC1而可针对任何粒度选择ECC2及ECC3(方案402),可仅针对16个字节粒度选择ECC1而可针对任何粒度选择ECC2及ECC3(方案403),可未针对任何粒度选择ECC1而可针对任何粒度选择ECC2及ECC3(方案404),可未针对任何粒度选择ECC1而可针对32个字节及16个位粒度选择ECC2且可针对任何粒度选择ECC3(方案405),可未针对任何粒度选择ECC1,可针对16个字节粒度选择ECC2且可针对任何粒度选择ECC3(方案406),不可针对任何粒度选择ECC1及ECC2而可针对任何粒度选择ECC3(方案407),不可针对任何粒度选择ECC1及ECC2且可针对32个字节及16个字节粒度选择ECC3(方案408),且最后,可仅选择具有16个字节粒度的ECC3(需要最大数目个所存储奇偶校验位的此最后配置)。
随着胞元的状态变化,(通过图4A到4C的表中的较暗框表示的)ECC引擎及粒度的可能可选择组合的数目还变化(在此实例中,其减少);对于每一状态,可在一些各种可能组合中选取组合,且可在所要目标(举例来说,为改进功率消耗或改进系统的ECC性能)的基础上作出(通过勾选框指示的)此选择,始终确保与胞元的状态有关的足够ECC保护。
图4B是在需要较佳操作性能时可选择ECC配置的演变的实例,其中始终针对每一状态选择最大可能粒度(例如,最大码字或同时校正的位量),如通过图4B中的勾选框指示。在图4B中,情况401'到409'中的全部可能可选择配置的数目的演变对应于图4A的情况401到409,其中展示特定选择。
举例来说,根据图4B,在装置使用期限期间,配置可独立于存取粒度根据以下各者以序列演变:可选择64个字节粒度ECC1引擎(情况401',当胞元的状态启用任何可能配置时),在其它情况中可选择64个字节粒度ECC2引擎(情况402'到404',其中(举例来说)归因于胞元降级不再可选择ECC1上的64个字节粒度),在其它情况中可选择64个字节粒度ECC3引擎(情况405'到409',其中(举例来说)归因于胞元降级不再可选择ECC2上的64个字节粒度)。根据此选择,举例来说,性能在功率降低方面是优选的。
另一方面,图4C是在需要功率消耗降低时可选择ECC配置的演变的实例,其中始终针对存储器胞元的每一状态选择最低可能ECC校正能力,如通过图4C中的勾选框指示。如针对图4B所见,在图4C中,情况401”到409”中的全部可能可选择配置的数目的演变对应于图4A的情况401到409,其中展示另一特定选择。
举例来说,在装置使用期限期间,配置可独立于存取粒度根据以下各者以序列演变:可选择16个字节粒度ECC1引擎(如在情况401”到403”中,其中胞元健康状况降级允许在任何情况中使用具有16个字节粒度的ECC1,这是因为在此实例中在情况402”及403”中分别仅禁止64及32个字节粒度),在其它情况中可选择16个字节粒度ECC2引擎(情况404”到406”),在其它情况中可选择16个字节粒度ECC3引擎(情况407”到409”)。根据此选择,举例来说,功率降低在ECC性能方面是优选的。
其它选择显然是可能的,且控制器可经编程以针对任何状态选择任何所要配置,本公开因此提供极大灵活性。
综上所述,举例来说,本公开因此提供订制BER的演变且在BER为低时启用较低ECC保护且在BER较高时增加所述保护的技术。根据实施例,用户数据经存储于存储器阵列的多个存储器胞元中,与用户数据相关联的奇偶校验数据经存储于存储器阵列的奇偶校验胞元中,且所使用奇偶校验位的数目基于存储器胞元的状态而选择且与所选择ECC校正能力及ECC粒度有关。因此,具有经定义最大错误校正能力(硬件或软件受限)的ECC单元可操作到对应于奇偶校验位的所使用数目的较差错误校正能力。换句话说,每当需要较低(或较高)ECC保护水平时,使用对应数目个奇偶校验位(其可通过存储经确定固定数目个奇偶校验位且仅使用胞元的状态需要的所述位,或通过每次恰好存储所需数目个奇偶校验位而完成)。在装置的使用期限期间可动态地改变ECC校正能力及粒度;对应地,自适应地改变所使用奇偶校验位的数目以便允许ECC引擎以所要水平工作。接着,以对应所选择错误保护水平执行对多个存储器胞元的ECC操作。作为实例,在一些情况中,在阵列的寿命开始时,可使用ECC1,且在寿命结束时,可使用ECC3(且因此可使用增加数目个奇偶校验位)。然而,不同情况还是可能的,包含在寿命开始时需要最大ECC保护水平且在一些周期之后(例如,在老化之后或一般来说在使用存储器胞元之后)可降低ECC保护水平的情况。同样地,可基于装置的特定要求来改变ECC粒度。
将ECC保护水平降低到所需最小值对应于更好功率性能。换句话说,通常,使用减少数目个奇偶校验位对应于降低功率消耗,这是因为仅启用必要ECC电路系统,当需要较低ECC保护时,所述电路系统需要较少功率。
图5是待对码字执行的ECC粒度及读取/写入(即,数据存取)粒度的不同选择的实例方案。更特定来说,在实例501中,单一码字501'可包括有效负载数据(在图中指示为“数据”)及奇偶校验数据P1、P3、P5(在此实例中,每一描绘码字可如图3的码字301,包括用于执行ECC1、ECC2及ECC3的奇偶校验数据P1、P3、P5,其中在码字501'中混合数据)。在此实例501中,所选择配置是使得每一ECC引擎(例如,ECC1、ECC2及ECC3)在64字节块(如通过虚线框指示)上操作,即,所选择ECC粒度是64个字节。另一方面,在实例502中,数据经编码使得每一ECC引擎(例如,ECC1、ECC2及ECC3)在32字节块上操作,如通过虚线框指示;在此实例502中,实例501的相同数量个有效负载数据及奇偶校验数据现存储于两个不同码字502a'及502b'中。在实例503中,数据经编码使得每一ECC引擎(例如,ECC1、ECC2及ECC3)在16字节块上操作,如通过虚线框指示;在此实例503中,实例501及502的相同数量个有效负载数据及奇偶校验数据现存储于各自对应于16字节数据块的四个不同码字503a'、503b'、503c'及503d'中。
图5在底部还展示可选择不同读取/写入存取粒度,每一选择具有不同影响。举例来说,如果所选择ECC引擎(例如,ECC1、ECC2或ECC3)经配置以在16字节ECC粒度上操作(如在实例503中),那么32个字节或64个字节的写入/读取存取分别需要使用相同ECC引擎两次或四次。另一方面,如果所选择ECC引擎经配置以在64字节ECC粒度上操作,那么16个字节或32个字节的读取/写入存取仅涉及所述64个字节的一部分。
根据本公开的实施例,独立于所使用的ECC引擎及粒度,用户数据的存取(举例来说,16字节、32字节或64字节的存取)的起始地址可为固定的,使得在改变ECC引擎及粒度时不存在地址重新映射以存取用户数据。如先前展示,在一些实施例中,用于每一组合的奇偶校验位的数目可为固定的,或在其它实施例中,其可举例来说基于胞元的状态而变化。
根据本公开的实施例,根据下文中将公开的技术,可基于存储器胞元的特定状态选择且随时间改变图4A到4C及图5的上述实例配置(以及许多其它可能配置)中的每一者。特定来说,为基于存储器胞元的状态执行ECC校正能力及ECC粒度的上述自适应变化,在阵列的寿命期间存储并更新两个寄存器。
更特定来说,根据本公开的实施例,第一寄存器经存储且包括指示待基于存储器胞元的当前状态应用于存储器胞元的所需ECC校正能力及所需ECC粒度的位值。基于存储器胞元的当前状态的变化在所述存储器胞元的寿命期间更新第一寄存器的值,使得第一寄存器的值的更新对应于待应用于存储器胞元的所需ECC校正能力及ECC粒度的变化。
此外,根据本公开的实施例,第二寄存器经存储且包括指示应用于存储器胞元的当前所选择ECC校正能力及当前所选择ECC粒度的位值。
换句话说,第一寄存器及第二寄存器是具有在阵列的寿命期间更新且用于选择待应用于存储器胞元的适当ECC校正能力及ECC粒度的条目的状态寄存器。第一寄存器经结构化以指示存储器胞元在给定时间需要的ECC校正能力及ECC粒度,而第二寄存器经结构化以含有所述存储器胞元的当前操作模式。
第一寄存器的数据信息通过控制器(例如(举例来说)图1的控制器102)接收且由控制器使用以产生倾向于引起先前所选择ECC校正能力及/或ECC粒度的变化的ECC切换命令。因此,根据本公开的实施例,基于第一寄存器的经更新位值产生ECC切换命令,使得可通过执行所述ECC切换命令而改变先前所选择ECC校正能力及/或先前所选择ECC粒度。
如先前展示,在实例中,可使用ECC切换命令来选择ECC1、ECC2或ECC3中的一者,以及所选择ECC引擎操作的16B、32B或64B的ECC粒度。然而,应理解,可根据需求及/或环境选择其它ECC校正能力及ECC粒度。
在实施例中,一旦已应用ECC切换命令且已如通过存储器胞元的新状态请求那样重新配置存储器区段(例如图1的存储器区段101)或其一部分,接着便根据变化ECC校正能力及/或ECC粒度更新第二寄存器,以此方式考量当前所选择ECC校正能力及/或ECC粒度。因此,更新第二寄存器以维持关于阵列的当前操作模式的信息,此举例来说在意外功率损耗或通常用于通过控制器检索信息的情况下是有用的。
在一些实施例中,一旦已改变存储器胞元的当前状态且已相应地更新第一寄存器,控制器便经配置以(举例来说)基于控制器的预设命令排程启用或不启用切换命令。因此,控制器可决定是否应用ECC校正能力及/或ECC粒度的所需变化。
通常,当存储器胞元的状态改变(例如,归因于其降级)且更新第一寄存器时,第一寄存器的位值未对准到第二寄存器的位值且ECC切换命令可致使对准所述寄存器。因此,第一寄存器的更新对应于存储器区段改变其ECC保护配置的请求,且控制器可相应地应用ECC切换命令。
在实施例中,如果第一寄存器的所需ECC校正能力未对应于第二寄存器的当前所选择ECC校正能力,及/或如果第一寄存器的所需ECC粒度未对应于第二寄存器的当前所选择ECC粒度,那么启用ECC切换命令。
此外,存储器胞元阵列的不同部分可具有不同状态及/或可展现不同缺陷密度。根据本公开的实施例,阵列的存储器胞元可被分组成多个部分(或分区),每一部分基于其存储器胞元的状态而被指派特定ECC保护水平。因此,取决于特定境况,不同部分可具有不同ECC保护水平以及相同保护水平。因此,阵列的“部分”是具有相同ECC保护水平的存储器胞元群组。以此方式,阵列可被分成其中ECC校正能力(及/或ECC粒度)相干但可不同于另一部分的ECC校正能力(及/或ECC粒度)的部分。
根据实施例,存储器部分可对应于内部细分,如同一存储体群组、存储体、区段或存储器的任何其它合适内部细分。此外,存储器部分还可对应于规范/主机细分,如同一缓冲区、页面,即,高级细分。在实施例中,整个存储器阵列在ECC校正能力及ECC粒度方面可为相干的。换句话说,一部分可对应于码字、存储体、存储体群组、阵列的区段、整个阵列、或甚至缓冲区、页面中的一者,且本公开不受胞元分组方式限制。
将阵列细分成可能具有不同ECC保护水平的若干部分更合适真实存储器装置。
因此,根据本公开,多个部分的每一部分可基于其存储器胞元的状态而被独立地指派特定ECC校正能力及/或特定ECC粒度。
图6A及6B是展示根据本公开的实施例的功率消耗(在Y轴上)相对于时间(在X轴上)的曲线图。应注意,尽管在X轴上表示时间,但本文中公开的概念不限于功率消耗随时间的演变,且相反,其适用于可潜在地影响存储器胞元的位错误率的任何因素(例如,循环、耐久性、老化、暴露于高/低温、硬/软故障机制、电压漂移等;因此,时间仅为许多可能实例且应对应地广义解释图)。特定来说,在实例中,功率消耗的时间增加可对应于缺陷密度的增加。图6A展示ECC保护水平可在存储器阵列的寿命期间变化;明确来说,图6A是其中起始保护水平为低(例如,ECC1,对应于低功率消耗)的阵列的一部分的实例,此保护水平基于缺陷密度(例如,位错误率)的增加而随时间增加。取决于所采用的存储器的特定技术,保护水平随时间降低的情境(图式中未展示)还是可能的。图6A的线601'表示以所使用奇偶校验位(例如,在ECC3的情况下的P1、P3及P5,如图3中描绘)及因此消耗功率计的现有技术平均成本,其始终处于最大水平,而根据本公开,平均功率成本可显著降低,这是因为在很长一段时间内,ECC保护水平并不处于最大水平(例如,当使用ECC1及/或ECC2时,分别要求仅使用P1或仅P1及P3奇偶校验胞元且因此仅激活对应ECC引擎)。图6B表示将阵列划分成多个独立部分的情况。如在图6A中,图6B的线601”表示以所使用奇偶校验位(例如,在ECC3的情况下的P1、P3及P5,如图3中描绘)及因此消耗功率计的现有技术平均成本,其始终处于最大水平。在图6B的情况中,每一阶状部602”对应于增加其ECC保护水平的单个部分,且平线区603”表示实例初始条件,其中所有部分在持续时间内具有最小保护水平(例如,ECC1,仅需要P1奇偶校验位,即使最初未实施ECC的情境是可能的)。在此实施例中,与最先进技术线601”相比,多个部分的划分确保较佳性能,如通过线604”表示,其是平均功率成本。
图6A及6B是展示起始ECC保护水平为低且接着随着缺陷密度增加而随时间增加的情况的实例。应注意,为改进图形表示,缺陷密度或BER在图6A及6B中被描绘为随时间线性增加的函数(例如,具有正斜率的线)。此并非典型情况,且应理解,可考量任何BER变化轮廓,无论线性或非线性。根据本公开,基于BER的变化(例如,在有必要这样做的任何时间)改变或调整ECC保护水平或校正能力,因此确保ECC引擎在任何情境下的最优使用。替代地或额外地,取决于技术,起始ECC保护水平可在给定时刻(例如在寿命开始时)较高(例如,ECC3),且其可随时间降低(例如,到ECC2及/或ECC1),使得所述曲线图还可具有降低趋势。
在任何情况中,根据本公开的实施例,ECC校正能力及ECC粒度基于存储器胞元的时变状态随着其使用期限而变化(根据特定技术提高或降低),其在功率消耗方面具有许多益处。
根据实施例,将第一及第二寄存器存储于存储器阵列的一或多个专用非易失性区中。换句话说,阵列包括经调适以存储与所选择ECC校正能力及粒度以及胞元的状态(优选地用于阵列的每一部分)有关的数据信息的非易失性区。举例来说,参考图1,专用于存储所述信息的非易失性区可为存储器区段101的非易失性区107。在将阵列细分成多个部分时,将与每一部分的所选择ECC校正能力及ECC粒度有关的相应数据信息存储于所述非易失性区(其可为单个区或还可细分成阵列的多个区)中。
如图7A及7B中展示,将第一及第二寄存器划分成不同区段,每一区段报告与阵列的一部分有关的信息。更特定来说,如图7A中展示,第一寄存器701包括多个区段701a到701h,所述区段中的每一者含有阵列的相应部分的信息,根据相应部分的存储器胞元的状态(即,根据装置在给定时间所需的ECC引擎及ECC粒度),一个区段的位值独立于其它区段的位值而更新。为了清楚起见,在图7A中,EN[i]表示一部分在给定时间所需的ECC校正能力且GN[i]表示一部分在给定时间所需的ECC粒度。此外,如图7B中展示,第二寄存器702包括多个区段702a到702h,所述区段中的每一者含有阵列的相应部分的信息,根据当前所选择ECC校正能力及/或ECC粒度,一个区段的位值独立于其它区段的位值而更新。为了清楚起见,在图7B中,EM[i]表示针对一部分选择的ECC校正能力且GM[i]表示针对阵列的一部分选择的ECC粒度。应理解,尽管图7A及7B说明存在八个分区的情况,但可将阵列划分成任何数目个分区且寄存器可具有对应数目个区段。
根据本公开的实施例,第一寄存器及第二寄存器的每一区段包括四个位。在每一寄存器包括八个区段的非限制性实例中,每一寄存器使用32个位以便提供所需信息,如图7A及7B中展示。举例来说,在第一寄存器中,每一区段使用两个位来指示所需ECC引擎且使用两个位来指示每分区的所需ECC粒度。同样地,第二寄存器使用两个位来指示当前所选择ECC引擎且使用两个位来指示每分区的当前所选择ECC粒度。如图的非限制性实例中展示,特定来说在表701'及702'中,位值00可指示ECC1,位值01可指示ECC2,位值10可指示ECC3,且位值11可指示无ECC。同样地,如表701”及702”中展示,位值00可指示16个字节ECC粒度,位值01可指示32个字节ECC粒度,位值10可指示64个字节ECC粒度,且位值11可指示无ECC。
在本公开的实施例中,存储一或多个查找表,使得寄存器701及702的每一可能位值与相应ECC校正能力及ECC粒度相关联,如图7A及7B的表701'、701”、702'及702”中展示。
图8展示应用于存储器阵列的两个不同部分(在此实例中,应用于分区1及分区4)的切换命令的实例。观察到,尽管在此图中,命令被展示为单独的,但可经由用于存储器区段的全部分区的相同命令总线发送所述命令。在此实例中,在时间t0,在16字节粒度上用ECC1保护分区1且在32字节粒度上用ECC1保护分区4,如块802中展示,其表示第二寄存器的时间演变。然而,如块801中展示,其表示第一寄存器的更新,在时间t0,分区1需要用ECC1及64字节粒度保护且分区4需要用ECC1及64字节ECC粒度保护。为此,控制器经配置以在时间t1发送倾向于引起部分1从16字节粒度切换到64字节粒度的切换命令。观察到,在此实例中,控制器在时间t1未将切换命令发送到部分4,控制器经配置以(举例来说)基于如先前公开的内部预编程命令排程来决定在给定时间是否启用切换命令。还观察到,块801中描绘的第一寄存器及块802中描绘的第二寄存器可分别对应于图7A的寄存器701及图7B的寄存器702,其中在此情况中仅展示四个部分。
仍参考图8,在特定时间t2,分区1需要用ECC2及64字节粒度保护且分区4需要用ECC3及16字节粒度保护,举例来说由于所述部分的存储器胞元的健康状况降级,如通过块801的更新值展示。为此,控制器经配置以在时间t3发送倾向于引起部分1从ECC1切换到ECC2的切换命令且在时间t4发送倾向于引起部分4从ECC1切换到ECC3且从32字节粒度切换到16字节粒度的切换命令。接着,将此新所选择值写入到第二寄存器中,如块802中指示。
因此,一般来说,通过控制器响应于存储器区段的不同需求而发送切换命令,如通过第一寄存器指示,此切换命令启用ECC校正能力及ECC粒度两者的变化。
在一些实施例中,控制器可能偏好在那时不受胞元的状态(例如,健康状况)严格要求的ECC粒度(或ECC保护水平),使得在一些实例中,可使用过度保护。举例来说,仍参考图8的实例,即使部分4的健康或实际错误率将允许使用64字节ECC粒度且以64字节存取粒度实现较高性能,仍可使用与32字节ECC粒度对准的32字节存取粒度。在其它实施例中,控制器可决定将切换操作推迟到不存在读取/写入数据流量的时刻,举例来说在完成切换操作之前引起较高BER。还可采用其它配置。
根据本公开的实施例,在执行ECC切换命令期间不允许对存储器胞元进行读取及/或写入操作。在此情况中,当在切换命令期间不允许对相同分区的读取/写入命令时,对相同分区的以下读取/写入命令使用新所选择ECC引擎及/或ECC粒度。
根据本公开的另一实施例,在执行ECC切换命令期间允许对存储器胞元进行读取及/或写入操作,其中在执行ECC切换命令期间,使用先前所选择ECC校正能力及/或ECC粒度。当在切换操作期间允许对相同分区的读取/写入命令时,仅在完成所述切换操作之后保证新所选择ECC引擎及/或ECC粒度的使用且在此之前,读取/写入命令时序可具有降级,这是因为仍不可能在整个分区上使用新所选择ECC引擎及ECC粒度。
在一些实施例中,如参考图1观察,ECC电路系统可集成于存储器装置的控制器中,所述控制器经适当地编程以执行本公开的ECC技术。
图9a是根据本公开的表示用于操作存储器胞元阵列的方法900的步骤的流程图。可通过硬件逻辑及电路系统执行所描述过程。举例来说,以下过程被描述为由存取电路系统、感测电路系统及ECC电路系统执行,如本文中公开。然而,其它实施例可包含适于执行过程的不同电路系统配置。
本公开的方法是一种用于改进具有ECC保护的存储器胞元的操作的方法。存取电路系统将数据写入到多个存储器胞元。举例来说,存取电路系统将逻辑0及逻辑1写入到多个存储器胞元,例如图1的存储器区段101中的存储器胞元。在一个实施例中,存取电路系统可通过施加具有负极性的编程脉冲而写入逻辑0且通过施加具有正极性的编程脉冲而写入逻辑1。还可采用相反惯例。取决于技术,可将不同编程脉冲施加到存储器胞元。在将数据写入到多个存储器胞元之后,存取电路系统可读取多个存储器胞元且ECC电路系统可验证错误的存在并校正所述错误。
特定来说,在步骤910,将用户数据存储于阵列的多个存储器胞元中。接着,在步骤920,将与用户数据相关联的奇偶校验位存储于阵列的多个奇偶校验胞元中。基于所存储奇偶校验数据,在步骤930选择错误校正码(ECC)校正能力及/或ECC粒度。更特定来说,通过在步骤925基于存储器胞元的状态变化更新第一寄存器而确定ECC校正能力及/或ECC粒度的选择。基于第一寄存器的经更新位值,执行ECC切换命令以获取步骤930的上述所要选择。在步骤940,根据经改变ECC校正能力及/或ECC粒度更新第二寄存器,所述第二寄存器包括指示基于存储器胞元的当前状态应用于存储器胞元的所选择ECC校正能力及所选择ECC粒度的值。
为确定阵列(或其一部分)的状态,且因此为确定应何时(及如何)改变ECC保护水平,可实施若干技术或准则,且装置具备合适构件。
根据实施例,可由计数单元(例如图1的实例存储器装置100的计数单元106)提供触发事件。更特定来说,如参考图1的实例公开,存储器装置100包括第一计数器106',其可经配置以考量存储器胞元的使用期限。第一计数器106'在本文中也被称为周期计数器且经配置以对阵列的部分的特定事件的发生进行计数。
在实施例中,第一计数器106'经配置以对对存储器胞元的存取数目进行计数。然而,本公开不限于对对存储器胞元的存取进行计数,且第一计数器106'还可经配置以对其它事件(例如刷新事件的数目或通电事件的数目或其组合)进行计数。在任何情况中,在此实施例中,基于第一计数器106'的值选择待用于定义适当ECC校正能力的奇偶校验胞元的数目(及因此所存储奇偶校验位的适当数目)。
第一计数器106'可为考量存储器胞元的经过使用期限的非易失性计数器,此信息即使在其关断事件之后还被维持在存储器中。
图10A及10B是用于基于第一计数器106'的值(即,基于此使用期限计数器)选择ECC保护水平的流程图1000a及1000b。如先前提及,使用期限事件可为对一部分的胞元的存取,以及许多其它事件。更特定来说,图10A表示其中ECC保护水平在阵列的寿命期间增加的情况1000a,而图10B表示其中ECC保护水平在阵列的寿命期间减少的情况1000b(例如,在一些周期之后展示较佳性能的存储器技术的情况下)。换句话说,ECC保护水平可取决于对特定技术的预期(其可映射于存储于存储器阵列中的专用查找表中)增加或减少。在一些情况(未展示)中,混合解决方案还是可能的。
更特定来说,方法1000a可包括:初始化计数器(步骤1010);在每一使用期限事件使计数器累加(步骤1020);比较第一计数器的值与预设阈值(步骤1030a);及在其不等于还不大于此阈值时,从步骤1020继续,而在其于或大于此阈值时,检查保护水平是否是最大值(步骤1040a),且如果保护水平并非最大值,那么增加保护水平(步骤1050a),而如果保护水平已处于其最大水平,那么停止(步骤1060)。
类似地,方法1000b可包括:初始化计数器(步骤1010);在每一使用期限事件使计数器累加(步骤1020);比较第一计数器的值与预设阈值(步骤1030b);及在其不等于还不大于此阈值时,从步骤1020继续,而在其于或大于此阈值时,检查保护水平是否是最小值(步骤1040b),且如果保护水平并非最小值,那么降低保护水平(步骤1050a),而如果保护水平已处于其最小水平,那么停止(步骤1060)。
换句话说,当表示使用或流逝使用期限的计数器满足阈值时,ECC保护水平改变(例如,增加或减少),如图10A及10B中展示。因此,在此实施例中,第一计数器倾向于指示存储器胞元的状态(更特定来说,各个部分的存储器胞元的状态,使得可针对对应不同部分实施不同计数器)。举例来说,特定计数器与特定部分相关联以基于相应存储器胞元的特定使用来触发应用于相应部分的特定ECC校正能力的变化。用以选择ECC保护水平的此技术在本文中也被称为基于使用期限的技术。
根据本公开的另一实施例,存储器装置还包括第二计数器,例如(举例来说)图1的第二计数器106”,其经配置以对通过ECC检测的错误数目进行计数,使得EEC保护水平决策基于此错误位频率计数器。
如在第一计数器106'(即,举例来说用于对存取数目进行计数的非易失性计数器)的情况中,在一些实例中,第二计数器106”还可为非易失性计数器。
更特定来说,在此实施例中,基于经计数错误频率(其作为第一计数器106'及第二计数器160”值的比率获取)来选择用于定义适当ECC校正能力的奇偶校验位的数目。
图11是表示基于经计数错误频率选择ECC保护水平的流程图1100。
特定来说,每当通过当前实施ECC检测到错误时,使第二计数器106”的值累加。此外,每当使用期限事件(例如,存取)通过第一计数器106'计数时(即,每当第一计数器106'累加时),计算第一计数器的值与第二计数器的值之间的比率,从而产生错误频率。接着,比较此比率与预设阈值。
举例来说,取决于具体采用的存储器技术,当错误频率大于阈值时,ECC水平保护增加,而当错误频率小于阈值时,ECC水平保护降低,或反之亦然。
换句话说,可基于经计数错误频率(其作为第一计数器及第二计数器的内容的比率获取)来选择用于定义ECC保护水平的奇偶校验胞元的数目,第二计数器用于对通过当前ECC检测的错误数目进行计数。因此,在此实施例中,错误频率指示存储器胞元的状态。用以选择ECC保护水平的此技术在本文中也被称为基于缺陷率的技术,且其不仅受错误频率检测的限制,且可如下文展示那样使用缺陷率的其它测量。
在实施例中,取决于在相同码字中检测到的错误数目(例如,1个、2个或3个),经计数错误频率可被指派不同权重。
如先前提及,根据本公开,不同部分基于其状态而被独立地指派适当ECC保护水平。因此,根据实施例,每一部分可包括用于定义其状态的一或多个计数器(例如,第一计数器及第二计数器)。以此方式,不同计数器与阵列的不同相应部分相关联,每一计数器表示相应部分的相应积累值(例如存取数目、错误数目等),如上文公开。因此,在相应积累值等于或超过(或在其它实施例中,低于)阈值的情况下,对一或多个部分执行ECC保护水平变化,如参考图10A到10B及图11所见。
还可通过主机或通过内部传感器更新计数器以便对阵列时间寿命进行计数,如下文将公开。
在任何情况中,本公开不受用以确定可何时改变ECC保护水平的特定准则的限制,且许多其它技术是可能的。
在一些实施例中,可基于存取操作期间的错误计数来选择较高保护水平。举例来说,检测到一个额外错误(例如,关于先前检测到的错误数目)可触发待应用的ECC保护水平的增加。在实际实例中,如果在存取码字时尚未检测到错误,那么ECC1保护水平是适当的(例如,一个错误的ECC校正能力);当第一次检测到错误时,可增加ECC保护水平以在后续存取操作中提供ECC2校正能力。类似地,当检测到第二错误时,ECC保护水平进一步增加(举例来说)到ECC3校正能力。
根据实施例,可在排序期间(例如)经由用于评估过程质量的测试机定义阵列的存储器胞元的初始状态。在此情况中,首先凭借测试机测试存储器阵列的至少一个部分的质量;在测试操作之后,基于所执行的质测量试将待用于定义所需ECC校正能力的适当数目个奇偶校验位指派给阵列的每一部分。换句话说,可使用测试评估以为每一部分指派适当起始保护水平。
图12示意性地展示经受测试操作的存储器阵列的单独部分(描绘四个单独部分)。四个单独部分可独立地经测试且在测试之后被指派不同起始ECC保护水平。以此方式,在测试(排序)期间,可取决于裸片的物理特性(例如,硅质量)分配复位ECC水平保护。举例来说,部分(0,0)可被指派起始ECC保护水平Lv1 0(其可对应于最小ECC校正能力,举例来说,ECC1);部分(0,y)可被指派起始ECC保护水平Lv1 1(其可对应于中间ECC校正能力,举例来说,ECC2);部分(x,0)可被指派起始ECC保护水平Lv1 0(例如,ECC1);且部分(x,y)可被指派起始ECC保护水平Lv1 3(其可对应于最大ECC校正能力,举例来说,ECC4)。其它部分(未展示)可被指派相应起始ECC保护水平。接着,在裸片寿命期间,可指派并改变ECC校正能力,举例来说如上文参考图10A到10B及11展示。
替代地或额外地,根据本公开的其它实施例,通过用户选择待用于定义ECC校正能力的奇偶校验胞元的数目。
还可基于耦合到存储器阵列的传感器(例如包含于感测单元108中的传感器)的信号选择ECC保护水平。换句话说,仍参考图1,存储器装置包括感测单元108中的一或多个传感器,其耦合到存储器区段101及控制器102。因此,控制器102可经配置以基于来自感测单元108的信号来选择待用于定义ECC校正能力的奇偶校验胞元的数目。
此外,根据另一实施例,基于感测放大器裕度测量来选择合适用于定义ECC校正能力的奇偶校验胞元的数目。换句话说,控制器可经配置以通过使用感测放大器(例如图1的电路部分105的感测放大器)来选择保护水平。
在此实施例中,基于多参考感测的保护水平决策确保在裕度变得过小时精确建立。可采用此方法来代替错误频率检测。在此情况中,图11的流程图大体上相同,但ECC保护水平的复位值可为无ECC而非ECC1。事实上,由于感测放大器可预测裕度损失,因此可降低平均ECC保护水平。
如先前提及,存储器装置可集成专用硬件(例如,集成于图1的ECC单元104中)以将ECC保护水平适当地指派给阵列的每一部分。
综上所述,取决于特定境况,改变ECC保护水平是基于若干触发事件,例如内部传感器、条件、检测器、特殊市场、过程质量、计数器。例如,特殊市场(例如汽车、航天等)可能需要较高ECC保护。
因此,ECC单元经编程以确保在简单性与缺陷率匹配之间进行权衡。图13A及13B展示经实施ECC选择算法的成本相对于阵列的胞元的老化的示意性实例曲线图。应注意,尽管在X轴上表示老化,但此处公开的概念不限于成本演变相对于老化,且相反,其适用于可潜在地影响存储器胞元的位错误率的任何因素(例如,流逝时间、循环、耐久性、暴露于高/低温、硬/软故障机制、电压漂移等;因此,老化仅为许多可能实例中的一者且应对应地广义解释图)。如先前所见,假设即使可能发生不同情境,缺陷密度(及因此所需ECC校正功率)还随着老化而增加。
更特定来说,参考图13A,线1301'表示胞元的估计缺陷率趋势(基于随着老化增加的线性缺陷率或其它参数),而阶状部1302'表示以通过使用基于使用期限的技术来选择ECC保护水平(例如,通过对存取数目进行计数,如图10A及10B中通常描绘)所获取的占用面积计的成本趋势。因此,此算法基于估计缺陷率趋势(例如,可通过定义用于切换ECC保护水平的数目存取或通常使用期限事件的阈值来获取估计缺陷率趋势)。另一方面,线1303'表示存储器的实际缺陷率趋势且线1304'表示ECC技术的成本,其基于实际测量而不仅基于其估计(例如,基于错误频率及/或感测放大器裕度测量或类似者)。因此,如果用于选择ECC保护水平的技术是基于缺陷率,那么优化操作,其优选地适应实际趋势。
参考图13B,线1301”、1302”、1303”及1304”分别对应于图13A的线1301'、1302'、1303'及1304'。然而,在此情况中,在曲线图部分1305”,实际缺陷率趋势甚至比估计线性案例预期的更差,使得基于使用期限的技术将产生存储器的错误操作,而基于缺陷率的技术能够依以成本计的更好平均性能遵循实际缺陷率趋势。
换句话说,因此,如果用于编程控制器且决定适当水平的算法是基于缺陷率且缺陷率趋势比预期更好,那么优化ECC保护水平。事实上,减少以面积/功率/时间计的平均成本,如图13A中展示。此外,如果缺陷率比预期更差,那么ECC保护水平可过低,如图13B中展示,使得适应性算法(例如,基于错误频率、感测放大器裕度测量等的技术)将ECC保护水平优化到实际缺陷率且改进可靠性。因此,适当保护水平算法减少平均成本且改进可靠性。
取决于特定应用,可选取用以选择待使用奇偶校验胞元的数目的一些或甚至全部所公开准则的混合物。举例来说,运用裕度测量的感测还可与错误频率测量相关联。
总之,本公开提供灵活ECC保护(例如,在一些实施例中,ECC1、ECC2及ECC3)及ECC粒度(例如,在一些实施例中,16B、32B及64B)的引入,其可通过专用切换命令选择以匹配实际BER且在存储器装置的整个使用期限期间解决不同性能及功率要求。本文中公开的可配置ECC技术具有若干优势,从而实现在装置的整个使用期限期间追踪实际BER,提供随时优化性能及功率的可能性,在保护选择方面具有很大灵活性。举例来说,根据本公开的实施例,可在BER为低时启用较低ECC保护且在BER为高时增加ECC保护,从而进一步有可能针对每一状态选择适当ECC粒度。类似地,可在BER为低时使用低ECC粒度(例如,64B)且在BER较高时使用高ECC粒度(例如,16B)。ECC校正能力及ECC粒度灵活性实现在装置的整个使用期限期间追踪实际BER,随时在性能及功率方面提供益处。
通过考量阵列的特性的演变,而非强制使用最大保护(即,而非使ECC基于寿命终止可靠性,其始终使用最高ECC保护水平且使用全部奇偶校验位)来执行可选择ECC校正能力及粒度。根据实施例,此通过使用第一及第二寄存器来完成,其允许以容易且有效方式获取上文提及的优势。
因此,ECC校正能力及ECC粒度基于阵列的时变状态在其使用期限内可变,使得ECC保护适应存储器胞元健康状况。根据本公开的实施例,ECC保护水平适应独立管理的阵列的特定部分的保护需求。部分尺寸可从ECC码字到裸片有所不同。事实上,一部分可对应于如同一存储体群组、存储体、区段或任何其它内部细分的内部细分,或可对应于如同一缓冲区、页面的规范/主机细分,或可对应于其它有益尺寸。在任何情况中,部分越小,以功率消耗计的益处越高。
因此,ECC保护仅在必要时增加,且可关断对应ECC硬件。
根据实例实施例,一种用于操作存储器胞元阵列的方法包括以下步骤:将用户数据存储于所述阵列的多个存储器胞元中;将与所述用户数据相关联的奇偶校验数据存储于所述阵列的多个奇偶校验胞元中;及基于所述所存储奇偶校验数据,选择将根据其来执行错误校正码(ECC)操作的ECC校正能力及/或ECC粒度。通过以下步骤确定ECC校正能力及/或ECC粒度的选择:更新第一寄存器,所述第一寄存器包括指示待基于存储器胞元的当前状态应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的值,其中基于存储器胞元的当前状态的变化更新第一寄存器的值,且其中第一寄存器的值的更新对应于待应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的变化;及基于第一寄存器的经更新值,执行ECC切换命令,其中ECC切换命令致使改变先前所选择ECC校正能力及/或先前所选择ECC粒度。所述方法进一步包括根据经改变ECC校正能力及/或ECC粒度更新第二寄存器的步骤,所述第二寄存器包括指示基于存储器胞元的当前状态应用于存储器胞元的所选择ECC校正能力及所选择ECC粒度的值。
如果未明确指示,那么方法步骤不一定按照所公开序列。
本公开还涉及一种包括以下各者的设备:阵列,其包含经调适以存储用户数据、奇偶校验数据、第一寄存器及第二寄存器的多个存储器胞元;及控制器,其包括ECC电路系统。所述控制器经配置以将与用户数据相关联的奇偶校验数据存储于阵列的多个奇偶校验胞元中,且基于所存储奇偶校验数据,通过激活错误校正码(ECC)电路系统的ECC引擎而选择ECC校正能力,及/或选择ECC引擎操作的ECC粒度。为选择ECC校正能力及/或ECC粒度,所述控制器经配置以:从第一寄存器接收信息,所述第一寄存器包括指示待基于存储器胞元的当前状态应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的值,其中第一寄存器经配置以基于存储器胞元的当前状态的变化而更新,且其中第一寄存器的值的更新对应于待应用于存储器胞元的所需ECC校正能力及/或所需ECC粒度的变化;且基于第一寄存器的经更新值,启用ECC切换命令,其中ECC切换命令包括引起基于第一寄存器的所需ECC校正能力及/或所需ECC粒度选择待应用于存储器胞元的ECC校正能力及/或ECC粒度的命令指令。所述控制器进一步经配置以将数据信息写入到第二寄存器中,所述第二寄存器包括指示基于存储器胞元的当前状态应用于存储器胞元的所选择ECC校正能力及所选择ECC粒度的值。
本公开还涉及一种受管理存储器系统,其包括:存储器区段,其包含经调适以存储用户数据、奇偶校验数据、至少一个第一寄存器及第二寄存器的多个存储器胞元;及控制器,其可操作地耦合到所述存储器区段。所述控制器经配置以将与用户数据相关联的奇偶校验数据存储于多个奇偶校验胞元中,且基于第一寄存器的数据信息,选择错误校正码(ECC)校正能力及/或受管理存储器系统的ECC引擎操作的ECC粒度,且将数据信息写入到第二寄存器中,所述第二寄存器包括指示当前应用于存储器胞元的所选择ECC校正能力及所选择ECC粒度的值。所述控制器经配置以:与存储器区段通信以从第一寄存器接收信息,所述第一寄存器包括指示待基于存储器胞元的当前状态应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的值,其中受管理存储器系统经配置以基于存储器胞元的当前状态的变化更新第一寄存器,且其中第一寄存器的值的更新对应于待应用于存储器胞元的所需ECC校正能力及/或所需ECC粒度的变化;且在接收第一寄存器的经更新值后,决定是否启用ECC切换命令,其中ECC切换命令包括引起基于第一寄存器的所需ECC校正能力及/或所需ECC粒度的先前所选择ECC校正能力及/或ECC粒度的变化的命令指令。
还公开一种包括主机装置及如上文的存储器装置的通用系统,所述通用系统包括(举例来说)通信耦合到所述存储器装置或主机的显示器、通信耦合到所述存储器装置或主机的网络接口及经耦合以向所述通用系统提供电力的电池中的任一者。
在先前详细描述中,参考形成其一部分的所附图式,且其中通过图解展示特定实例。在图式中,相同元件符号贯穿若干视图描述大体上类似组件。可利用其它实例,且可在不脱离本公开的范围的情况下作出结构、逻辑及/或电变化。另外,如将了解,图中提供的元件的比例及相对尺度希望说明本公开的实施例且不应被视为限制意义。
如本文中使用,“一”、“一个”或“数个”某物可是指此类事物中的一或多者。“多个”某物意指两个或更多个。如本文中使用,术语“耦合”可包含无中介元件的电耦合、直接耦合及/或直接连接(例如,通过直接物理接触)或具有中介元件的间接耦合及/或连接。术语耦合可进一步包含彼此协作或相互作用(例如,如呈因果关系)的两个或更多个元件。
尽管本文中已说明且描述特定实例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可取代所展示的特定实施例。本公开希望涵盖本公开的一或多个实施例的调适或变化。应了解,已以阐释性方式而非限制性方式进行上文描述。应参考所附权利要求书以及此权利要求书所授权的等效物的全范围来确定本公开的一或多个实例的范围。
Claims (26)
1.一种用于操作存储器胞元阵列的方法,所述方法包括:
-将用户数据存储于所述阵列的多个存储器胞元中;
-将与所述用户数据相关联的奇偶校验数据存储于所述阵列的多个奇偶校验胞元中;及
-基于所述所存储奇偶校验数据,选择将根据其来执行错误校正码(ECC)操作的ECC校正能力及/或ECC粒度,
其中通过以下步骤确定所述ECC校正能力及/或所述ECC粒度的所述选择:
-更新第一寄存器,所述第一寄存器包括指示待基于所述存储器胞元的当前状态应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的值,其中基于所述存储器胞元的所述当前状态的变化更新所述第一寄存器的所述值,且其中所述第一寄存器的所述值的更新对应于待应用于所述存储器胞元的所述所需ECC校正能力及/或所需ECC粒度的变化;及
-基于所述第一寄存器的所述经更新值,执行ECC切换命令,其中所述ECC切换命令致使改变先前所选择ECC校正能力及/或先前所选择ECC粒度,所述方法进一步包括:
-根据所述经改变ECC校正能力及/或ECC粒度更新第二寄存器,所述第二寄存器包括指示基于所述存储器胞元的所述当前状态应用于所述存储器胞元的所述所选择ECC校正能力及所述所选择ECC粒度的值。
2.根据权利要求1所述的方法,其包括将所述阵列的所述存储器胞元分组成多个部分,所述多个部分的每一部分基于其所述存储器胞元的所述状态而被独立地指派特定ECC校正能力及/或特定ECC粒度。
3.根据权利要求2所述的方法,其中所述多个部分的一部分对应于码字、存储体、存储体群组、所述阵列的区段、整个阵列、缓冲区、页面中的一者。
4.根据权利要求2所述的方法,其中所述第一寄存器包括多个区段,所述区段中的每一者含有所述阵列的相应部分的信息,根据所述相应部分的所述存储器胞元的所述状态,一个区段的所述值独立于其它区段的所述值更新。
5.根据权利要求2所述的方法,其中所述第二寄存器包括多个区段,所述区段中的每一者含有所述阵列的相应部分的信息,根据所述所选择ECC校正能力及/或ECC粒度,一个区段的所述值独立于所述其它区段的所述值更新。
6.根据权利要求1所述的方法,其包括存储查找表,其中所述寄存器的每一可能值与相应ECC校正能力及ECC粒度相关联。
7.根据权利要求1所述的方法,其中不允许在所述ECC切换命令的所述执行期间对所述存储器胞元进行读取及/或写入操作。
8.根据权利要求1所述的方法,其中在所述ECC切换命令的所述执行期间允许对所述存储器胞元进行读取及/或写入操作,其中在所述ECC切换命令的所述执行期间,使用所述先前所选择ECC校正能力及/或ECC粒度。
9.根据权利要求1所述的方法,其包括:
-基于所要操作模式通过针对所述存储器胞元的每一定义状态选择在所有可选择ECC校正能力、ECC粒度及写入/读取数据存取粒度当中待应用于所述存储器胞元的ECC校正能力、ECC粒度及写入/读取数据存取粒度的特定组合而定义待应用于所述存储器胞元的所述ECC校正能力、ECC粒度及写入/读取数据存取粒度的时间演变,
其中最初通过基于可接受开销选择待存储奇偶校验位的数目而定义全部可能组合的最大数目,且其随时间以及所述存储器胞元的所述状态而变化。
10.根据权利要求1所述的方法,其中在最大数目与最小数目之间选择所使用奇偶校验胞元,且其中所述ECC校正能力及ECC粒度的所述变化对应于所使用奇偶校验胞元的所述数目的变化。
11.根据权利要求1所述的方法,其中基于用于对对所述存储器胞元的存取的数目或刷新事件的数目或通电事件的数目或其组合中的至少一者进行计数的第一计数器的值来选择所述ECC校正能力及/或所述ECC粒度,所述第一计数器的所述值指示所述存储器胞元的所述状态。
12.根据权利要求1所述的方法,其中基于经计数错误频率来选择所述ECC校正能力及/或所述ECC粒度。
13.根据权利要求1所述的方法,其包括以下步骤:
-凭借测试机器测试所述存储器阵列的至少一个部分的质量;及
-基于所执行质量测试而向所述至少一个部分指派特定ECC校正能力及/或特定ECC粒度。
14.根据权利要求1所述的方法,其中所述ECC校正能力及/或所述ECC粒度由所述用户选择,或其中是基于耦合到所述存储器阵列的传感器的信号,或其中基于感测放大器裕度测量来选择。
15.一种设备,其包括:
-阵列,其包含经调适以存储用户数据、奇偶校验数据、第一寄存器及第二寄存器的多个存储器胞元;及
-控制器,其包括ECC电路系统,所述控制器经配置以:
-将与所述用户数据相关联的奇偶校验数据存储于所述阵列的多个奇偶校验胞元中;及
-基于所述所存储奇偶校验数据,通过激活所述错误校正码(ECC)电路系统的ECC引擎而选择ECC校正能力,及/或选择所述ECC引擎操作的ECC粒度,
其中为选择所述ECC校正能力及/或所述ECC粒度,所述控制器经配置以:
-从所述第一寄存器接收信息,所述第一寄存器包括指示待基于所述存储器胞元的当前状态应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的值,其中所述第一寄存器经配置以基于所述存储器胞元的所述当前状态的变化而更新,且其中所述第一寄存器的所述值的更新对应于待应用于所述存储器胞元的所述所需ECC校正能力及/或所需ECC粒度的变化;及
-基于所述第一寄存器的所述经更新值,启用ECC切换命令,
其中所述ECC切换命令包括引起基于所述第一寄存器的所述所需ECC校正能力及/或所述所需ECC粒度选择待应用于所述存储器胞元的所述ECC校正能力及/或ECC粒度的命令指令,
所述控制器进一步经配置以将数据信息写入到所述第二寄存器中,所述第二寄存器包括指示基于所述存储器胞元的所述当前状态应用于所述存储器胞元的所述所选择ECC校正能力及所述所选择ECC粒度的值。
16.根据权利要求15所述的设备,其中所述阵列被划分成多个部分,所述多个部分的每一部分基于其所述存储器胞元的所述状态而被独立地指派特定ECC校正能力及/或特定ECC粒度。
17.根据权利要求16所述的设备,其中所述多个部分的一部分对应于码字、存储体、存储体群组、所述阵列的区段、整个阵列、缓冲区、页面中的一者。
18.根据权利要求16所述的设备,其中所述第一寄存器包括多个区段,所述区段中的每一者含有所述阵列的相应部分的信息,根据所述相应部分的所述存储器胞元的所述状态,一个区段的所述值独立于其它区段的所述值更新。
19.根据权利要求16所述的设备,其中所述第二寄存器包括多个区段,所述区段中的每一者含有所述阵列的相应部分的信息,根据所述所选择ECC校正能力及/或ECC粒度,一个区段的所述值独立于所述其它区段的所述值更新。
20.根据权利要求18及19所述的设备,其中所述第一寄存器及所述第二寄存器的每一区段包括四个位。
21.根据权利要求15所述的设备,其中所述控制器经配置以:
-禁止在所述ECC切换命令的所述执行期间对所述存储器胞元进行读取及/或写入操作;或
-在所述ECC切换命令的所述执行期间允许对所述存储器胞元进行读取及/或写入操作,其中在所述ECC切换命令的所述执行期间,所述控制器进一步经配置以将先前所选择ECC校正能力及/或ECC粒度应用于所述存储器胞元。
22.根据权利要求15所述的设备,其包括:
-第一计数器,其经配置以对对所述存储器胞元的存取的数目或刷新事件的数目或通电事件的数目或其组合中的至少一者进行计数,其中所述控制器经配置以基于所述第一计数器的值来选择所述ECC校正能力及/或所述ECC粒度;及/或
-第二计数器,其经配置以对所检测的错误的数目进行计数,其中所述控制器经配置以基于经计数错误频率来选择所述ECC校正能力及/或所述ECC粒度。
23.根据权利要求15所述的设备,其包括:
-感测单元,其耦合到所述存储器阵列,其中所述控制器经配置以基于所述感测单元的信号来选择所述ECC校正能力及/或所述ECC粒度;及/或
-感测放大器,其中所述控制器经配置以基于感测放大器裕度测量来选择所述ECC校正能力及/或所述ECC粒度。
24.根据权利要求16所述的设备,其中不同计数器与所述阵列的不同相应部分相关联,每一计数器代表所述相应部分的相应积累值,所述控制器经配置以基于所述相应部分的所述相应积累值与阈值的比较来选择性地将所述所选择ECC校正能力及/或ECC粒度变化应用于一或多个部分上。
25.一种受管理存储器系统,其包括:
-存储器区段,其包含经调适以存储用户数据、奇偶校验数据、至少一个第一寄存器及第二寄存器的多个存储器胞元;及
-控制器,其可操作地耦合到所述存储器区段,所述控制器经配置以:
-将与所述用户数据相关联的奇偶校验数据存储于多个奇偶校验胞元中;及
-基于所述第一寄存器的数据信息,选择错误校正码(ECC)校正能力及/或所述受管理存储器系统的ECC引擎操作的ECC粒度;及
-将数据信息写入到所述第二寄存器中,所述第二寄存器包括指示当前应用于所述存储器胞元的所述所选择ECC校正能力及所述所选择ECC粒度的值,
其中所述控制器经配置以:
-与所述存储器区段通信以从所述第一寄存器接收信息,所述第一寄存器包括指示待基于所述存储器胞元的所述当前状态应用于所述存储器胞元的所需ECC校正能力及/或所需ECC粒度的值,其中所述受管理存储器系统经配置以基于所述存储器胞元的所述当前状态的变化来更新所述第一寄存器,且其中所述第一寄存器的所述值的更新对应于待应用于所述存储器胞元的所述所需ECC校正能力及/或所需ECC粒度的变化;及
-在接收所述第一寄存器的所述经更新值后,决定是否启用ECC切换命令,其中所述ECC切换命令包括引起基于所述第一寄存器的所述所需ECC校正能力及/或所述所需ECC粒度的先前所选择ECC校正能力及/或ECC粒度的所述变化的命令指令。
26.根据权利要求25所述的受管理存储器系统,其中所述所存储奇偶校验数据对应于多个可选择ECC校正能力及ECC粒度,且其中通过执行所述切换命令,所述控制器倾向于通过应用所述所选择ECC校正能力及/或ECC粒度而重新配置所述存储器区段的至少一个部分。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2021/022216 WO2023047149A1 (en) | 2021-09-23 | 2021-09-23 | Improved ecc configuration in memories |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117980994A true CN117980994A (zh) | 2024-05-03 |
Family
ID=85719738
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180102620.4A Pending CN117980994A (zh) | 2021-09-23 | 2021-09-23 | 存储器中经改进的ecc配置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117980994A (zh) |
WO (1) | WO2023047149A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116682482B (zh) * | 2023-05-24 | 2024-02-23 | 珠海妙存科技有限公司 | Nand闪存质量分级方法、nand闪存质量分级装置和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8117521B2 (en) * | 2008-08-26 | 2012-02-14 | Spansion Llc | Implementation of recycling unused ECC parity bits during flash memory programming |
US8495465B1 (en) * | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
CN103329103B (zh) * | 2010-10-27 | 2017-04-05 | 希捷科技有限公司 | 使用用于基于闪存的数据存储的自适应ecc技术的方法和设备 |
KR102083498B1 (ko) * | 2012-07-03 | 2020-04-14 | 삼성전자 주식회사 | 선택적 ecc 동작을 수행하는 메모리 장치 |
US9208024B2 (en) * | 2014-01-10 | 2015-12-08 | Freescale Semiconductor, Inc. | Memory ECC with hard and soft error detection and management |
-
2021
- 2021-09-23 WO PCT/IB2021/022216 patent/WO2023047149A1/en active Application Filing
- 2021-09-23 CN CN202180102620.4A patent/CN117980994A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023047149A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10929474B2 (en) | Proactive corrective actions in memory based on a probabilistic data structure | |
CN107665723B (zh) | 用于非易失性存储器的非二进制编码 | |
US8719491B2 (en) | Encoding flash memory data with a randomizer using different seeds for different sectors | |
US20100088557A1 (en) | Systems and methods for multiple coding rates in flash devices | |
TWI482169B (zh) | 後端記憶體系統介面之動態最佳化 | |
CN110998543B (zh) | 用于磨损平整的方法和存储器设备 | |
US11842772B2 (en) | Voltage bin boundary calibration at memory device power up | |
US20230017942A1 (en) | Memory sub-system event log management | |
WO2022103562A1 (en) | Media management on power-up | |
WO2023028347A1 (en) | Monitoring memory device health according to data storage metrics | |
CN117980994A (zh) | 存储器中经改进的ecc配置 | |
TW202240389A (zh) | 具有改良的錯誤更正碼(ecc)架構之記憶體裝置 | |
CN111373480A (zh) | 通过单元探测进行故障预测 | |
CN114446379A (zh) | 基于各种定时容限参数设定的性能度量来对存储器装置进行评级 | |
CN116868270A (zh) | 用于改进存储器的ecc操作的方法及系统 | |
WO2022185089A1 (en) | Methods and systems for managing memory with dynamic ecc protection | |
US20240103741A1 (en) | Providing multiple error correction code protection levels in memory | |
US20240061589A1 (en) | Code rate as function of logical saturation | |
US20240038311A1 (en) | Reliability based data verification | |
US20240111431A1 (en) | Adaptive super block wear leveling | |
WO2022185091A1 (en) | Methods and systems for reducing ecc power consumption | |
CN113921060A (zh) | 管理在存储器子系统中的清理操作的执行 | |
TW202329148A (zh) | 記憶體中之錯誤更正碼功率消耗優化 | |
CN116343875A (zh) | 管理存储器子系统的自适应数据路径选择阈值 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |