《用于存储器装置的错误保护.pdf》由会员分享,可在线阅读,更多相关《用于存储器装置的错误保护.pdf(19页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104246709A43申请公布日20141224CN104246709A21申请号201380021478622申请日2013022813/421,57820120315USG06F11/10200601G11C29/4220060171申请人美光科技公司地址美国爱达荷州72发明人保罗阿马托克里斯托弗劳伦特理查德法肯索尔74专利代理机构北京律盟知识产权代理有限责任公司11287代理人孙宝成54发明名称用于存储器装置的错误保护57摘要本文中所揭示的标的物涉及方法及/或设备,例如包含第一存储器单元群组及第二存储器单元群组的设备。所述第一存储器单元群组每存储器单元存储程序数据的多。
2、个数位。所述第二存储器单元群组每存储器单元存储一奇偶符号。本发明揭示其它设备及/或方法。30优先权数据85PCT国际申请进入国家阶段日2014102386PCT国际申请的申请数据PCT/US2013/0283682013022887PCT国际申请的公布数据WO2013/138083EN2013091951INTCL权利要求书2页说明书11页附图5页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书11页附图5页10申请公布号CN104246709ACN104246709A1/2页21一种方法,其包括将包含相关联奇偶数据的码字数据存储于存储器单元群组中,其中所述奇偶数据的奇偶符。
3、号能够在不擦除所述存储器单元群组中的对应存储器单元的情况下不止一次地被改变。2根据权利要求1所述的方法,其中所述存储器单元群组包括存储器单元块。3根据权利要求1所述的方法,其中所述奇偶符号包括两个位。4根据权利要求1所述的方法,其中所述奇偶符号包括一位。5根据权利要求1所述的方法,其中所述存储码字数据进一步包括将程序数据的一个以上位存储于所述存储器单元群组中的第一存储器单元中;及将奇偶数据的仅单个位存储于所述存储器单元群组中的第二存储器单元中,其中所述第一存储器单元及所述第二存储器单元分别能够被编程到两种以上状态中的相应一者。6一种方法,其包括从程序数据产生一或多个奇偶符号,使得在执行擦除操作。
4、之前将对所述一或多个奇偶符号中的一奇偶符号的改变的数目维持低于阈值。7根据权利要求1所述的方法,其进一步包括将所述一或多个奇偶符号存储于第一多电平存储器单元群组中,其中将奇偶符号存储于所述第一存储器单元群组中的单个相应存储器单元中。8根据权利要求7所述的方法,其中奇偶符号包括一位。9根据权利要求7所述的方法,其中奇偶符号包括两个位。10根据权利要求7所述的方法,其进一步包括将所述程序数据存储于第二多电平存储器单元群组中,其中将所述程序数据的一个以上数位存储于所述第二存储器单元群组中的单个相应存储器单元中。11根据权利要求6所述的方法,其中产生一或多个奇偶符号包括使用奇偶产生器阵列来产生一或多个。
5、奇偶符号。12一种设备,其包括存储器单元群组,其用以存储奇偶数据,其中所述群组中的单元能够允许其存储的奇偶符号在不擦除所述单元的情况下不止一次地被改变。13根据权利要求12所述的设备,其中所述存储器单元群组包括第一多电平存储器单元群组,且进一步包括第二多电平存储器单元群组,其中所述第二群组中的单元将存储程序数据的一个以上数位。14根据权利要求12所述的设备,其中所述设备包括以下各项中的至少一者存储器装置、桌上型计算机、膝上型计算机、工作站、服务器装置、个人数位助理、移动通信装置或其任何组合。15一种设备,其包括存储器编程电路,其用以将电荷添加到存储器单元的电荷存储结构以在擦除所述存储器单元之前。
6、多次改变奇偶符号的值。16根据权利要求15所述的设备,其中所述多次对应于比所述存储器单元能够被编程到的状态的数目小1的数目。17根据权利要求15所述的设备,其中所述存储器编程电路进一步包括用以将电荷添权利要求书CN104246709A2/2页3加到另一存储器单元的电荷存储结构以改变程序数据的两个数位的值的配置。18根据权利要求15所述的设备,其进一步包括端口,其用以接收外部产生的奇偶数据。19根据权利要求15所述的设备,其中所述存储器单元包括NOR快闪存储器阵列中的存储器单元。20一种设备,其包括第一存储器单元群组,其用以每存储器单元存储程序数据的多个数位;及第二存储器单元群组,其用以每存储器。
7、单元存储单个奇偶符号;其中所述单个奇偶符号能够在执行擦除操作之前不止一次地被改变。21根据权利要求20所述的设备,其中所述单个奇偶符号包括两个位。22根据权利要求20所述的设备,其中所述单个奇偶符号包括一个位。23一种设备,其包括第一存储器单元群组,其用于以第一粒度级别存储程序数据;及第二存储器单元群组,其用于以第二粒度级别存储奇偶数据,其中所述第一粒度级别或所述第二粒度级别中的至少一者的粒度小于位级别粒度。24一种方法,其包括根据第一粒度级别将程序数据存储于第一存储器单元群组中;及根据第二粒度级别将与所述程序数据相关联的奇偶数据存储于第二存储器单元群组中,其中所述第一粒度级别或所述第二粒度级。
8、别中的至少一者的粒度小于位级别粒度。权利要求书CN104246709A1/11页4用于存储器装置的错误保护技术领域0001本文中所揭示的标的物涉及用于存储器装置的错误保护。背景技术0002存储器装置可用于各种电子装置中,例如计算机、移动电话、个人数位助理PDA、数据记录器或导航装备,仅举几例。举例来说,可使用各种类型的非易失性存储器装置,例如NAND快闪存储器或NOR快闪存储器,仅举几例。如果可给存储器装置提供错误保护,那么其将是期望的。附图说明0003图1是针对单电平存储器单元SLC的编程操作的实施例的示意图。0004图2是图解说明多电平存储器单元MLC的状态的示意图。0005图3是图解说明。
9、多电平存储器单元MLC的另一实施例的状态的示意图。0006图4是用以将多电平存储器单元编程到表示数据的单个位的值的数据状态的过程的实施例的流程图。0007图5是分割程序数据及/或使程序数据与奇偶数据相关联的实施例的示意图。0008图6是奇偶产生器阵列的实施例。0009图7是奇偶产生器阵列的另一实施例。0010图8是图解说明计算系统的实施例的示意图。具体实施方式0011此说明书通篇所提及的“一个实施例”或“一实施例”意指结合实施例描述的特定特征、结构及/或特性包括于所主张标的物的至少一个实施例中。因此,在本说明书通篇中的各处出现的短语例如“在一个实施例中”或“一实施例”未必全部是指同一实施例。此。
10、外,可将特定特征、结构及/或特性组合于一或多个实施例中。0012所主张标的物的实施例可包含用于执行操作的方法及/或设备例如,个别设备或者设备或其组件的组合。设备可出于所要目的而专门构造,及/或设备可包括能够根据存储于存储器中的计算机程序而操作的通用计算装置。程序可存储于存储器中,例如但不限于任何类型的磁盘,包含软盘、光盘、压缩光盘只读存储器CDROM、磁光盘、只读存储器ROM、随机存取存储器RAM,非易失性存储器,例如电可编程只读存储器EPROM、电可擦除可编程只读存储器EEPROM及/或快闪存储器、相变存储器PCM,及/或适于存储电子指令的任何其它类型的媒体。0013存储器通常可包括非暂时性。
11、装置。在此上下文中,非暂时性存储媒体可包含有形的器件,此意指所述器件具有具体物理形式,但所述器件可改变其物理状态中的一或多者。因此,举例来说,非暂时性是指器件保持有形而不管状态改变如何。0014在描述所主张标的物的实施例中,术语“位”对应于数据的二进制数位,例如由二说明书CN104246709A2/11页5进制数位数据信号的状态表示,此有时还称为逻辑信号、二进制信号、逻辑状态或二进制状态。举例来说,位的值、位的一小部分或多个位可通过将存储器单元例如单个晶体管编程例如,写入到多个数据状态中的一者而存储。举例来说,在单电平存储器单元SLC或SLC单元中,所述单元可编程到第一例如,逻辑1数据状态或第。
12、二例如,逻辑0数据状态。另外,多个二进制数位数据信号及/或包括个别二进制数位数据信号及/或数据状态的多个数据状态可经组织及/或经聚集以建构例如,汇编一“符号”,举例来说,此可共同地表示2个位、4个位、8个位、10个位等等。在一个实例中,2位符号可具有二进制值00、01、10或11。在一些情形中,单个存储器单元可选择性地编程到表示那些值中的任一者的相应数据状态。举例来说,2位符号的00值可通过将存储器单元编程到四种可能数据状态例如,对应于阈值电压电平的相应范围中的相应一者而存储。以类似方式,4位符号例如,0101的特定值可通过将一或多个存储器单元编程到16种可能数据状态中的相应一者而存储,且8位。
13、符号例如,00000110的特定值可通过将一或多个存储器单元编程到256中不同数据状态中的相应一者而存储,以此类推。举例来说,前述符号中的任一者可作为一或多个数据信号的一或多个可测量物理性质例如,声、电流、辐射及/或电压电平而传递。0015此外,“码字”可存储为多个存储器单元例如,也许多达200个或200个以上的表示程序数据例如,所存储信息或待存储的信息的相应经编程数据状态连同举例来说多个存储器单元状态的表示奇偶数据的相应经编程数据状态,后者可用于检测及/或校正程序数据中经由各种机制可能已引入的错误。奇偶数据还可称为错误保护数据。所主张标的物的实施例可包含指示已知及/或可粗略估计码字内的一或多。
14、个错误的位置的擦除旗标。在已知及/或可粗略估计码字内的一或多个错误的位置的情况下,某些错误保护码举例来说,例如里德索罗门错误保护码可能够校正也许多达在不知道一或多个错误的位置的情况下可校正的错误的数目的两倍但本文中的内容均不应解译为将所主张标的物的实施例要求或限制于特定译码技术。在此上下文中,错误保护码是指用于检测及/或校正错误的码ECC。在此上下文中,码字连同错误保护码一起可包括存储器内表示程序数据及奇偶数据的经编程数据状态。0016可在多种上下文中采用存储器。作为实例,计算系统中可包含存储器。在此上下文中,术语计算系统是指通过总线耦合的至少一处理器及存储器。同样地,在此应用中,术语存储器、。
15、存储器系统、存储器模块、存储器装置及/或存储器设备可互换使用,除非使用的上下文另有指示。然而,存储器单元是指存储器内的存储单元,且存储器阵列是指存储器单元的阵列。通常,阵列中的存储器单元包括存储器核心。然而,应理解,举例来说,存储器、存储器系统、存储器模块、存储器装置及/或存储器设备还可包含其它电路或组件以实现存储器单元的使用。同样地,存储器子系统是指存储器系统的子部分。0017对于一些类型的存储器,与存储器单元可从第二数据状态例如,“0”数据状态双态切换到第一数据状态例如,“1”数据状态相比,所述存储器单元可较容易地从第一数据状态双态切换到第二数据状态。此存储器单元可称作“单向”存储器单元。。
16、举例来说,通过将电荷添加到存储器单元的电荷存储结构例如,浮动栅极或电荷陷阱,呈“1”数据状态的NOR或NAND快闪存储器单元可相对容易地双态切换到“0”数据状态。然而,电荷可相对难以从存储器单元的电荷存储结构移除,从而使得较难以从“1”数据状态往回双态切说明书CN104246709A3/11页6换到“0”数据状态。此外,通常实质上同时擦除快闪存储器装置中的存储器单元块以将呈“0”数据状态的单元往回双态切换到“1”数据状态,此称为块擦除或块擦除操作。然而,执行一或多个块擦除可包括不期望地慢的过程。0018在实施例中,可编程到两种以上数据状态中的一者的存储器单元通常称为多电平存储器单元MLC或ML。
17、C单元。关于典型MLC单元,数据的N个位其中N大于1的特定值由M种数据状态中的相应一者表示,其中M2N。在此情形中,MLC单元可用于存储数据的N个位。举例来说,作为实例,可将MLC单元编程到四种数据状态中的一者,其中第一数据状态可表示二进制值11,第二数据状态可表示二进制值01,第三数据状态可表示二进制值10,且第四数据状态可表示二进制值00。通过将电荷连续地添加到单元的电荷结构且不必擦除所述单元,实施例中的此单元可从第一数据状态转变到第二数据状态、从第二数据状态转变到第三数据状态且从第三数据状态转变到第四数据状态。因此,将此单元从第一数据状态编程例如,写入到第一、第二或第三数据状态、从第二数。
18、据状态编程例如,写入到第三或第四数据状态或者从第三数据状态编程例如,写入到第四数据状态在本文中可视为“沿允许方向编程”。同时,由于这样常规地将涉及首先擦除单元,因此在任何其它数据状态之间对单元进行编程在本文中可视为“沿非允许方向编程”如所理解,此并不意指不允许在此些数据状态之间对单元进行编程,而是仅意指这样涉及首先擦除单元。0019在本发明的实施例中,代替使用MLC单元来存储数据的N个位再次,其中M2N,可将单元编程到M种数据状态中的一者以表示少于数据的N个位的值。举例来说,可将此单元编程到四种数据状态中的一者其中此单元在本文中有时称为四电平MLC单元,其中第一数据状态可表示二进制值“1”,第。
19、二数据状态可表示二进制值“0”,第三数据状态还可表示二进制值“1”,且第四数据状态还可表示值“0”。举例来说,通过将电荷连续地添加到单元的电荷结构,因此根据此实施例的存储器单元可从举例来说“1”数据状态转变到“0”数据状态、从“0”数据状态转变到另一“1”数据状态且从所述另一“1”数据状态转变到另一“0”数据状态。因此,在此实例中,通过添加电荷且不擦除单元,根据此实施例的单元可在位值例如,“1”及“0”之间双态切换达特定次数。0020在本文中所揭示的实施例中,此些MLC单元可以多电平方式使用以存储多个数位例如,通常称为“位”的二进制数位,而其它MLC单元可用于存储单个数位例如,位。举例来说,所。
20、存储的数据可包括举例来说用于给码字中的程序数据提供错误保护的奇偶数据,例如先前所描述。根据此实施例,可减少块擦除。0021举例来说,给码字提供错误保护可涉及检测及/或校正与从存储器读取的码字相关联的错误。举例来说,例如HAMMING7,4的汉明码可用于通过添加3个位的奇偶数据以形成码字数据而将4个位的程序数据编码成7个位的经编码数据,其中在此实例中,奇偶数据的位可操作以给程序数据的相应三个位提供错误保护。0022常规地,只要编程沿允许方向,那么编程例如,存储器写入操作可双态切换存储于存储器单元中的位而不首先擦除所述单元。另一方面,如果编程操作沿非允许方向,那么常规地,在可双态切换位之前首先擦除。
21、例如,经由块擦除单元。相比之下,沿允许方向的编程操作不需要涉及块擦除,此否则可为不期望地慢的或延迟编程操作。0023然而,即使进行编程以双态切换码字中的程序数据的位可沿允许方向,此操作可仍涉及沿非允许方向对与所述码字相关联的奇偶数据的位进行编程。因此,虽然在双态切说明书CN104246709A4/11页7换之前可不需要块擦除,但与码字相关联的奇偶数据的改变可仍需要块擦除。尽管错误保护可被“关断”或以其它方式被忽略以避免此块擦除,但这样将意指可不期望地失去针对码字的至少某一错误保护。0024因此,本文中所描述的实施例可涉及给存储器装置提供错误保护同时避免块擦除或使块擦除操作较不频繁地发生的技术。。
22、技术可允许在不必需要块擦除的情况下沿常规非允许方向对奇偶数据的数位进行编程。一种技术可包含产生在执行块擦除操作之前将奇偶数据改变的数目维持低于阈值的奇偶数据。在可能实施例中,奇偶数据可至少部分地使用奇偶产生器阵列而产生,所述奇偶产生器阵列可以将奇偶数据改变的数目维持低于阈值的方式建构。举例来说,在一个实施例中,第一存储器单元群组的单个MLC单元可用于存储奇偶数据的单个位。同时,第二存储器单元群组的单个MLC单元可用于存储程序数据的两个或两个以上位。0025在一个实施方案中,举例来说,存储器编程电路可将电荷存储于MLC单元的电荷存储结构中以在擦除MLC单元之前多次改变奇偶数据的位例如,在第一值与。
23、第二值之间双态切换奇偶数据的位。在实施例中,可能改变的数目可对应于MLC单元可编程到的可能数据状态的数目。举例来说,如果MLC单元可编程到M种例如,四种可能数据状态中的一者,那么其可被双态切换最多达M1次例如,如果M4,那么3次。当然,操作一或多个存储器单元的这些细节仅为实例,且所主张标的物不限于此。0026如上文所提及,例如NAND或NOR快闪存储器装置的快闪存储器装置可包含举例来说可用于每单元存储奇偶数据的单个位而非每单元存储多个位的一或多个MLC单元。举例来说,数据的单个位的值可包括“1”或“0”。在一个可能实施例中,MLC单元可包含能够经编程使得其阈值电压电平处于若干M个不同电压范围中。
24、的一者的晶体管,相应电压范围个别地对应于存储器单元的相应数据状态。这些数据状态中的一些数据状态在检测存储器单元被编程到多种可能数据状态当中的哪一数据状态在此实例中,表示奇偶数据的过程中可为彼此可区分的。举例来说,在一个可能实施例中,写入控制器或读取控制器可举例来说操作适应将数据的单个位存储于MLC存储器单元中的存储器装置。0027在一或多个实施例中,包含程序数据及奇偶数据的码字数据可存储于设备例如存储器装置中,使得奇偶数据的所存储位可能够在不首先擦除存储器装置的存储奇偶数据的对应单元或块的情况下不止一次地被改变。在一个实施方案中,码字数据可在存储器中存储为位群组,其中奇偶数据可存储为与程序数据。
25、的相应位群组相关联的数据的位。因此,在实例中,码字数据可在存储器中存储为程序及奇偶数据的一致地定大小的位群组。举例来说,奇偶数据可举例来说存储为与程序数据的一致地定大小的位群组相关联的数据的相应位以形成码字或其部分。在一个实例中,除奇偶数据外,码字还可包括举例来说存储为十六个16位字的256个位的程序数据。当然,程序数据或程序及奇偶数据的一致地定大小的位群组一起可包括任何数目个位,例如一字节、一字、多个字节或多个字的位,且所主张标的物在此方面不受限。0028码字数据的位群组的大小可影响分配到存储奇偶数据的存储器的量。举例来说,当位群组中的程序数据位的平均数目增加时,分配到存储奇偶数据例如,阵列。
26、额外负担的至少一部分的快闪存储器的量可相对于码字数据的量在百分比基础上减少。举例来说,百分比基础可包括奇偶数据的位的数目与码字数据的位的相关联数目的比率。说明书CN104246709A5/11页80029如上文所提及,奇偶数据可经产生以在执行擦除操作例如块擦除之前将数据状态改变的数目维持低于特定数目。如先前所提到,在一个实施例中,奇偶数据的位可与包含多个位的处于粒度级别的程序数据相关联。举例来说,奇偶数据的位可与程序数据的位群组例如程序数据的字节、字、多个字节或多个字相关联。在一些实例中,位群组可一致地定大小。换句话说,在一些实施例中,奇偶数据的位可在每单元基础、每字节基础或每字基础上与程序数。
27、据相关联,仅举几例。然而,在其它实施例中,群组不必必须一致地定大小。0030图1是针对单电平存储器单元SLC或SLC单元的编程操作的实施例的示意图。水平轴可用于描述存储器单元的晶体管的电荷存储结构上的电荷量,且垂直轴可用于描述存储器单元的数据状态概率的量值。举例来说,数据状态概率可表达存储器单元处于两种数据状态中的一者例如“1”数据状态或“0”数据状态的概率。当然,其它实施例可涉及任何数目个存储器单元数据状态,且所主张标的物在此方面不受限。作为实例,存储器单元的电荷存储结构在任何编程之前可处于电荷电平105,其可对应于“1”数据状态。通过将电荷添加到电荷存储结构,存储器单元可转变例如,双态切换。
28、到“0”数据状态。举例来说,存储器单元的电荷存储结构可经充电达电荷电平120,其可对应于“0”数据状态。为进一步转变例如,双态切换SLC单元的数据状态,举例来说,可采用擦除操作,例如包括块擦除的擦除操作。遗憾地,举例来说,快闪存储器中的擦除举例来说通常涉及擦除存储器单元块而非单个存储器单元,及/或与其它存储器操作例如对单元进行编程相比,可为相对较慢的。当然,“1”数据状态及“0”数据状态不必对应于图1中所展示的电荷电平,图1中所展示的电荷电平也不必对应于“1”数据状态及“0”数据状态,且所主张标的物在此方面不受限。此仅为图解。0031可将MLC单元编程到两种以上数据状态中的一者,如图2中所展示。
29、,其是能够存储数据的两个位例如,二进制值11、10、00或01的MLC单元的实施例的示意图,所述MLC单元在本文中有时称为四电平MLC单元。水平轴可用于描述存储器单元的电荷存储结构上的电荷量,且垂直轴可用于描述存储器单元的数据状态概率的量值。数据状态概率可表达存储器单元被编程到四种数据状态中的一者的概率,例如对应于二进制值“11”、“10”、“00”及/或“01”的那些数据状态。当然,其它实施例可涉及任何数目种数据状态,且所主张标的物不限于此。此仅为图解。0032如先前所提及,存储器单元可包含可编程到若干电压电平范围中的一者内的阈值电压的晶体管未展示,其中范围对应于相应数据状态,例如230、2。
30、40、250及260,所述数据状态又表示数据的一个以上位的相应值。举例来说,第一数据状态230可对应于低于第一电平235的电压电平。第二数据状态240可对应于第一电平与第二电平245之间的电压电平。第三数据状态250可对应于第二电平与第三电平255之间的电压电平,第四数据状态260可对应于高于第三电平的电压电平,以此类推。举例来说,个别数据状态可表示数据的两个位的相应值,例如数据状态230的情形中的“11”,数据状态240的情形中的“10”,数据状态250的情形中的“00”,或数据状态260的情形中的“01”。当然,数据状态不必对应于特定电压范围或表示图2中所展示的特定值,且所主张标的物在此方。
31、面不受限。此仅为图解。0033根据实施例,MLC单元可用于存储奇偶数据的单个位,如图3中所展示,其是若干说明书CN104246709A6/11页9电压电平范围的实施例300的示意图,其中一些范围可表示存储于单元中的奇偶数据的单个位的相同值,如在此实例中所图解说明。图4是用以将数据的单个位存储于MLC单元中的过程400的实施例的流程图,例如图3中所展示的过程。图3中的水平轴可用于描述存储器单元的电荷存储结构上的电荷量,且垂直轴可用于描述存储器单元的数据状态概率的量值。举例来说,数据状态310、320、330及340可分别对应于约10伏特到12伏特、20伏特到22伏特、33伏特到35伏特及48伏特。
32、到50伏特的范围中的电压电平。当然,这些电压电平范围仅为实例,且所主张标的物不限于此。此仅为图解。MLC单元可包含任何数目个电压电平范围,且所主张标的物不限于四个范围。0034根据实施例,MLC单元可在不擦除电荷存储结构的情况下多次被编程。举例来说,在过程400中,存储器单元可以处于对应于第一数据状态310的电荷电平的电荷存储结构开始举例来说以存储具有二进制值“1”的数据的位。举例来说,在实施方案中,此可对应于刚刚执行擦除操作。在实施方案中,因此,存储器单元可存储作为擦除存储器单元的结果具有二进制值“1”的数据的位例如,参见块460。当然,此仅为说明性实施例,且许多其它替代方案是可能的且包含于。
33、所主张标的物的范围内。0035继续此实例,通过将电荷添加例如,注入到电荷存储结构,单元的数据状态可经转变以存储具有二进制值“0”的位,如块430及435中所展示。因此,存储器单元的电荷存储结构可处于对应于第二数据状态320的电荷电平例如,在范围中,举例来说,借此存储具有二进制值“0”的数据的位。通过将额外电荷添加到电荷存储结构,存储器单元的数据状态可再次经转变以存储具有二进制值“1”的位,如块440及445中所展示。因此,存储器单元的电荷存储结构可处于对应于第三数据状态330的电荷电平例如,在范围中,从而存储具有二进制值“1”的数据的位。通过仍将额外电荷添加到电荷存储结构,存储器单元的数据状态。
34、可再次经转变以存储具有二进制值“0”的位,如块450及455中所展示。因此,存储器单元的电荷存储结构可处于对应于第四数据状态340的电荷电平例如,在范围中,从而存储具有二进制值“0”的数据的位。根据所图解说明的实施例,为进一步转变存储器单元的数据状态,可采用擦除操作,如块460中所展示,从而在擦除操作之后将单元返回到初始状态,如先前所描述。当然,上文所描述的编程或擦除操作的细节仅为转变存储器单元的数据状态的实例,且所主张标的物不限于此。0036图5是使程序数据与码字中的奇偶数据相关联例如,采用ECC或错误保护码的实施例500的示意图。尽管展示数据的特定布置,但这些仅为实例,且所主张标的物不限于。
35、任何特定数目。如上文所论述,奇偶数据可给写入到存储器的程序数据提供错误保护。举例来说,奇偶数据可包括可与码字的特定程序数据相关联的一或多个位。通过将存储器单元编程到对应数据状态而存储于存储器单元中的位集可包括包含程序数据及相关联奇偶数据的码字数据。0037返回到先前实例,在此实例中,HAMMING7,4码可用于将四个位的程序数据编码成码字的七个位的经编码数据,包含3个位的奇偶数据。在实施例中,为适应此码,可将码字的字510分割成4个位的群组520。在此实例中,可将此群组520中的四个位的程序数据编码成7个位的经编码数据例如,四个位的程序数据530及三个位的相关联奇偶数据540。当然,其它实施例。
36、可涉及ECC的其它布置,其中码字数据由程序数据形成且与奇偶数据相关联,且所主张标的物不限于任何特定布置。举例来说,在一种情形中,十一个位的程说明书CN104246709A7/11页10序数据可与四个位的奇偶数据相关联例如,HAMMING15,11,而在另一情形中,二十六个位的程序数据可与五个位的奇偶数据相关联例如,HAMMING31,26。在这些情形中,举例来说,码字数据的分割可不同于图5中所展示的分割。0038返回到实施例500,程序数据530可以多电平方式存储于MLC单元中。以多电平方式将程序数据存储于MLC单元中允许将给定量的程序数据存储于比在将相同量的程序数据存储于SLC单元中的情形中。
37、少的单元中。因此,可增加用于存储程序数据的容量。举例来说,四个位的程序数据可存储于能够编程到四种数据状态中的一者的两个MLC单元中。换句话说,数据的一个以上位可存储于单个MLC单元中。同时,在至少一个实施例中,奇偶数据540的单个位可存储于单个MLC单元中。举例来说,奇偶数据的位可存储于能够编程到四种数据状态中的一者的单个MLC中。将奇偶数据的单个位存储于单个MLC单元中可允许在采用块擦除操作之前对此MLC单元进行多次编程。因此,可多次改变存储于单个MLC单元中的奇偶数据的位的值。0039MLC550上所实施的特定编程操作可在不具有块擦除或具有较少块擦除操作的情况下导致所存储程序数据改变。同样。
38、地,根据实施例,作为改变相关联程序数据的结果,可对存储与此所存储程序数据相关联的奇偶数据的位的MLC单元560进行重新编程,但还是不具有块擦除或具有较少块擦除操作。因此,在实施例中,编程操作可经实施以适应在不具有块擦除或具有较少块擦除操作的情况下的奇偶数据及/或程序数据改变。0040在若干可能技术当中,可使用奇偶产生器阵列例如矩阵来产生奇偶数据,此可以准许奇偶数据在擦除操作之前改变特定数目次的方式采用。举例来说,在实施方案中,如果奇偶数据存储于能够编程到四种数据状态中的一者的MLC单元中,那么奇偶产生器阵列可准许奇偶数据的位改变三例如,四减去一次,但所主张标的物不限于此。0041图6是奇偶产生。
39、器阵列600例如矩阵的实施例。阵列600可对应于其中能够编程到四种数据状态中的一者的MLC单元可用于存储奇偶数据的实施方案。HAMMING20,12码可用于产生奇偶数据,但所主张标的物不限于此。奇偶产生器阵列可包括同样表示程序数据的若干位的一个维度及表示奇偶数据的若干位的另一维度。当然,图6中所展示的布置仅为实例,且所主张标的物不限于此。0042阵列600可包括十二行及八列。在所述阵列中,“1”可由编程到“1”数据状态的存储器单元表示,且“0”可由编程到“0”数据状态的存储器单元表示。阵列600的列可对应于奇偶数据的位。阵列600的行可对应于程序数据的位。列及行中的“1”可形成程序数据的相应位。
40、与奇偶数据的相应位之间的关联关系。因此,阵列600中的位置可表示程序数据的特定位与奇偶数据的特定位之间的关联关系。0043在实施例中,采用阵列600例如图6中所图解说明的阵列可准许奇偶数据的位举例来说在采用擦除操作之前改变三次,其中在此特定实例例如,针对包含能够编程到四种数据状态中的一者的MLC的MLC存储器阵列中,奇偶数据的位可与程序数据的三个位相关联。举例来说,如先前所论述,可采用多电平能力以准许沿否则不允许例如,涉及采用擦除操作的方向改变。因此,在至少一个可能实施例中,对应于奇偶数据的位的列可包含三个“1”。0044行及列中可包含其它数目个“1”。在一个实施方案中,举例来说,在产生奇偶数。
41、据或奇偶产生器阵列之前,MLC单元能够被编程到的数据状态的数目可预先存储或为可选择说明书CN104246709A108/11页11的作为实例,例如借助专用软件。作为一个实例,处理器可使用此信息来产生适当奇偶产生器阵列。0045图7是奇偶产生器阵列700例如矩阵的另一实施例。阵列700可包括在至少一些方面类似于阵列600实施方案的另一实施方案。通过模拟,阵列600的行可对应于阵列700的子阵列例如,710、720、730等等。因此,阵列600中的行对应于程序数据的位,如刚刚所描述;同样地,700中的子阵列对应于程序数据的字。阵列600中的列包含三个“1”;同样地,阵列700经布置使得三个子阵列具。
42、有对应非零列。0046先前,采用一个位的奇偶。此处,采用包括两个位的奇偶符号。因此,举例来说,奇偶产生器阵列700包括包含对应于存储四个状态电平的MLC的四进制值状态的阵列。即,在此实例中,阵列700中的组件可包括四个数中的任一者“0”;“1”;“2”;或“3”。在图7中,为方便起见,阵列700中的其中不写入组件的空白空间表示“0”。0047再次,阵列700的子阵列对应于程序数据的字。更明确地说,阵列700的个别行对应于字例如,存储于四电平MLC中的程序数据的两个位。因此,阵列700的八个行可对应于可使用阵列700进行编码的程序数据的十六个位例如,字。当然,用于描述阵列700的特定数目及其它细。
43、节仅为实例,且所主张标的物不限于此。0048因此,在码字包含分割成十六个字例如,一致地定大小的位群组的256个位的程序数据的情况下,阵列700可包含十六个子阵列710、720、730及740未展示730与740之间的子阵列。在此情形中,字包括十六个位。在此实例中,阵列700的个别子阵列对应于十六位字,如上文所述。为产生供在检测及/或校正针对256位实例例如,存储于128个MLC单元中的十六个字的错误中使用的奇偶数据,阵列700的三个子阵列包含对应非零列,其中所述列对应于奇偶符号。因此,举例来说,阵列700的个别子阵列710到740包含一些对应非零列。0049个别子阵列710到740可包括八行及。
44、十六列“0”、“1”、“2”或“3”。个别子阵列710到740中的“1”、“2”或“3”可形成程序数据与奇偶数据之间的关联关系。因此,阵列700的子阵列中的非零列交叉例如,对应列可表示程序数据的字例如,具有“字级别”粒度与奇偶符号之间的关联关系。因此,在此实例中,通过建构,准许双态切换最多达三次的奇偶符号举例来说可与程序数据的三个字相关联。0050阵列700可对应于其中能够编程到四种数据状态中的一者的MLC单元用于存储奇偶符号的实施方案,如上文所提及。因此,阵列700可用于产生针对处于字级别的粒度的程序数据的奇偶数据。程序数据可一次一字地改变例如,每编程操作一个字改变。通过模拟,而且相比之下,。
45、阵列600提供程序数据中的位级别粒度改变的图解说明。因此,看来,对于对应量的程序数据,与存储对应于一字例如,在此实例中,16位级别粒度的奇偶数据相比,较大数目个MLC可涉及存储对应于一位级别粒度的奇偶数据。当然,应注意,针对特定实施例可产生而非存储阵列。0051使用用于产生奇偶数据的阵列700,可准许可存储于四状态MLC中的任何特定奇偶符号最多达三次状态转变。在包括十六个16位字的码字的实例中,编程例如,写入操作可一次一字地存储数据。举例来说,可对程序数据的十六个字中的第一字进行编程,此后可对第二字进行编程,以此类推。当然,阵列700的细节仅为实例,且所主张标的物不限于此。说明书CN10424。
46、6709A119/11页120052表1展示至少部分地基于奇偶产生器阵列的针对四电平MLC的具有程序数据例如,列C及/或奇偶数据例如,列B的变化布置的若干情形。当然,奇偶产生器阵列可包括任何形式或结构,且所主张标的物不必限于包括列或行的奇偶产生器阵列。然而,列A中的行6可对应于涉及阵列600或其中奇偶数据对应于列且程序数据对应于行的实例实施例。列D展示奇偶符号与程序数据位的数目的比率。举例来说,列E展示可在例如实施例500的实施例中使用的MLC单元的数目。0053表1005400550056图8是图解说明呈包含存储器模块910其也可视为设备的计算系统900的形式的设备的实施例的示意图,举例来说。
47、,存储器模块910可包括包含彼此互连成链状拓扑的若干存储器装置的多芯片存储器模块。举例来说,计算装置可包括用以执行应用程序或其它码的一或多个处理器。计算装置904可表示可用于管理存储器模块910的任何装置、说明书CN104246709A1210/11页13器具或机器。存储器模块910可包含存储器控制器915及存储器922。以实例方式而不以限制方式,计算装置904可包含一或多个计算装置或平台,例如桌上型计算机、膝上型计算机、工作站、服务器装置等等;一或多个个人计算或通信装置或器具,例如个人数位助理、移动通信装置等等;计算系统或相关联服务提供者能力,例如数据库或信息存储服务提供者或系统;或其任何组。
48、合。0057认识到,系统900中所展示的各种装置以及如本文中进一步所描述的过程及方法中的全部或部分可使用或以其它方式包含硬件、固件、软件中的至少一者软件本身除外来实施。因此,以实例方式而不以限制方式,计算装置904可包含至少一个处理单元920,所述处理单元经由总线940及主机或存储器控制器915操作地耦合到存储器922。处理单元920表示能够执行计算程序或过程的至少一部分的一或多个装置。以实例方式而不以限制方式,处理单元920可包含一或多个处理器、微处理器、控制器、专用集成电路、数位信号处理器、可编程逻辑装置、现场可编程门阵列等等或其任何组合。处理单元920可包含能够与存储器控制器915通信的。
49、待执行的操作系统。举例来说,操作系统可产生待在总线940上或经由总线940发送到存储器控制器915的命令。举例来说,命令可包括读取或写入命令。响应于写入命令,举例来说,存储器控制器915可执行上文所描述的过程800以对存储器进行编程且改变奇偶数据。0058存储器922表示任何信息存储机构。举例来说,存储器922可包含主要存储器924或辅助存储器926。举例来说,主要存储器924可包含随机存取存储器、只读存储器等。虽然在此实例中图解说明为与处理单元920分离,但应理解,主要存储器924的全部或部分可提供于处理单元920内或以其它方式与处理单元920位于一处或耦合。在一个实施方案中,存储器922可并入集成电路中,举例来说,所述集成电路可包括用以从处理单元920接收错误症状或其它错误数据的端口。0059举例来说,辅助存储器926可包含与主要存储器相同或类似类型的存储器或者一或多个其它类型的信息存储装置或系统,例如磁盘驱动器、光盘驱动器、磁带驱动器、固态存储器驱动器等。在某些实施方案中,辅助存储器926可操作地接纳计算机可读媒体928或以其它方式能够操作地耦合到计算机可读媒体928。举例来说,计算机可读媒体928可包含能够存储例如,载送或以其它方式可存取用于系统900中的装置中的一或多者的可读取、可写入或可重写数据例如,码或指令的任何媒体。举例来说,计算装置904可包含输入/输出装置。