首页 / 专利库 / 电脑编程 / 计算机编程 / 用于存储器装置的错误保护

用于存储器装置的错误保护

阅读:844发布:2024-02-21

专利汇可以提供用于存储器装置的错误保护专利检索,专利查询,专利分析的服务。并且本文中所揭示的标的物涉及方法及/或设备,例如包含第一 存储器 单元群组及第二存储器单元群组的设备。所述第一存储器单元群组每存储器单元存储程序数据的多个数位。所述第二存储器单元群组每存储器单元存储一奇偶符号。本 发明 揭示其它设备及/或方法。,下面是用于存储器装置的错误保护专利的具体信息内容。

1.一种方法,其包括:
将包含相关联奇偶数据的码字数据存储于存储器单元群组中,其中所述奇偶数据的奇偶符号能够在不擦除所述存储器单元群组中的对应存储器单元的情况下不止一次地被改变。
2.根据权利要求1所述的方法,其中所述存储器单元群组包括存储器单元
3.根据权利要求1所述的方法,其中所述奇偶符号包括两个位。
4.根据权利要求1所述的方法,其中所述奇偶符号包括一位。
5.根据权利要求1所述的方法,其中所述存储码字数据进一步包括:
将程序数据的一个以上位存储于所述存储器单元群组中的第一存储器单元中;及将奇偶数据的仅单个位存储于所述存储器单元群组中的第二存储器单元中,其中所述第一存储器单元及所述第二存储器单元分别能够被编程到两种以上状态中的相应一者。
6.一种方法,其包括:
从程序数据产生一或多个奇偶符号,使得在执行擦除操作之前将对所述一或多个奇偶符号中的一奇偶符号的改变的数目维持低于阈值
7.根据权利要求1所述的方法,其进一步包括将所述一或多个奇偶符号存储于第一多电平存储器单元群组中,其中将奇偶符号存储于所述第一存储器单元群组中的单个相应存储器单元中。
8.根据权利要求7所述的方法,其中奇偶符号包括一位。
9.根据权利要求7所述的方法,其中奇偶符号包括两个位。
10.根据权利要求7所述的方法,其进一步包括将所述程序数据存储于第二多电平存储器单元群组中,其中将所述程序数据的一个以上数位存储于所述第二存储器单元群组中的单个相应存储器单元中。
11.根据权利要求6所述的方法,其中产生一或多个奇偶符号包括使用奇偶产生器阵列来产生一或多个奇偶符号。
12.一种设备,其包括:
存储器单元群组,其用以存储奇偶数据,其中所述群组中的单元能够允许其存储的奇偶符号在不擦除所述单元的情况下不止一次地被改变。
13.根据权利要求12所述的设备,其中所述存储器单元群组包括第一多电平存储器单元群组,且进一步包括第二多电平存储器单元群组,其中所述第二群组中的单元将存储程序数据的一个以上数位。
14.根据权利要求12所述的设备,其中所述设备包括以下各项中的至少一者:存储器装置、桌上型计算机、膝上型计算机、工作站、服务器装置、个人数位助理、移动通信装置或其任何组合。
15.一种设备,其包括:
存储器编程电路,其用以将电荷添加到存储器单元的电荷存储结构以在擦除所述存储器单元之前多次改变奇偶符号的值。
16.根据权利要求15所述的设备,其中所述多次对应于比所述存储器单元能够被编程到的状态的数目小1的数目。
17.根据权利要求15所述的设备,其中所述存储器编程电路进一步包括用以将电荷添加到另一存储器单元的电荷存储结构以改变程序数据的两个数位的值的配置。
18.根据权利要求15所述的设备,其进一步包括:
端口,其用以接收外部产生的奇偶数据。
19.根据权利要求15所述的设备,其中所述存储器单元包括NOR快闪存储器阵列中的存储器单元。
20.一种设备,其包括:
第一存储器单元群组,其用以每存储器单元存储程序数据的多个数位;及第二存储器单元群组,其用以每存储器单元存储单个奇偶符号;
其中所述单个奇偶符号能够在执行擦除操作之前不止一次地被改变。
21.根据权利要求20所述的设备,其中所述单个奇偶符号包括两个位。
22.根据权利要求20所述的设备,其中所述单个奇偶符号包括一个位。
23.一种设备,其包括:
第一存储器单元群组,其用于以第一粒度级别存储程序数据;及
第二存储器单元群组,其用于以第二粒度级别存储奇偶数据,其中所述第一粒度级别或所述第二粒度级别中的至少一者的粒度小于位级别粒度。
24.一种方法,其包括:
根据第一粒度级别将程序数据存储于第一存储器单元群组中;及
根据第二粒度级别将与所述程序数据相关联的奇偶数据存储于第二存储器单元群组中,其中所述第一粒度级别或所述第二粒度级别中的至少一者的粒度小于位级别粒度。

说明书全文

用于存储器装置的错误保护

技术领域

[0001] 本文中所揭示的标的物涉及用于存储器装置的错误保护。

背景技术

[0002] 存储器装置可用于各种电子装置中,例如计算机、移动电话、个人数位助理(PDA)、数据记录器或导航装备,仅举几例。举例来说,可使用各种类型的非易失性存储器装置,例如NAND快闪存储器或NOR快闪存储器,仅举几例。如果可给存储器装置提供错误保护,那么其将是期望的。附图说明
[0003] 图1是针对单电平存储器单元(SLC)的编程操作的实施例的示意图。
[0004] 图2是图解说明多电平存储器单元(MLC)的状态的示意图。
[0005] 图3是图解说明多电平存储器单元(MLC)的另一实施例的状态的示意图。
[0006] 图4是用以将多电平存储器单元编程到表示数据的单个位的值的数据状态的过程的实施例的流程图
[0007] 图5是分割程序数据及/或使程序数据与奇偶数据相关联的实施例的示意图。
[0008] 图6是奇偶产生器阵列的实施例。
[0009] 图7是奇偶产生器阵列的另一实施例。
[0010] 图8是图解说明计算系统的实施例的示意图。

具体实施方式

[0011] 此说明书通篇所提及的“一个实施例”或“一实施例”意指结合实施例描述的特定特征、结构及/或特性包括于所主张标的物的至少一个实施例中。因此,在本说明书通篇中的各处出现的短语(例如)“在一个实施例中”或“一实施例”未必全部是指同一实施例。此外,可将特定特征、结构及/或特性组合于一或多个实施例中。
[0012] 所主张标的物的实施例可包含用于执行操作的方法及/或设备(例如,个别设备或者设备或其组件的组合)。设备可出于所要目的而专构造,及/或设备可包括能够根据存储于存储器中的计算机程序而操作的通用计算装置。程序可存储于存储器中,例如但不限于任何类型的磁盘,包含软盘、光盘、压缩光盘只读存储器(CD-ROM)、磁光盘、只读存储器(ROM)、随机存取存储器(RAM),非易失性存储器,例如电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)及/或快闪存储器、相变存储器(PCM),及/或适于存储电子指令的任何其它类型的媒体。
[0013] 存储器通常可包括非暂时性装置。在此上下文中,非暂时性存储媒体可包含有形的器件,此意指所述器件具有具体物理形式,但所述器件可改变其物理状态中的一或多者。因此,举例来说,非暂时性是指器件保持有形而不管状态改变如何。
[0014] 在描述所主张标的物的实施例中,术语“位”对应于数据的二进制数位,例如由二进制数位数据信号的状态表示,此有时还称为逻辑信号、二进制信号、逻辑状态或二进制状态。举例来说,位的值、位的一小部分或多个位可通过将存储器单元(例如单个晶体管)编程(例如,写入)到多个数据状态中的一者而存储。举例来说,在单电平存储器单元(SLC或SLC单元)中,所述单元可编程到第一(例如,逻辑1)数据状态或第二(例如,逻辑0)数据状态。另外,多个二进制数位数据信号及/或包括个别二进制数位数据信号及/或数据状态的多个数据状态可经组织及/或经聚集以建构(例如,汇编)一“符号”,举例来说,此可共同地表示2个位、4个位、8个位、10个位等等。在一个实例中,2位符号可具有二进制值00、01、10或11。在一些情形中,单个存储器单元可选择性地编程到表示那些值中的任一者的相应数据状态。举例来说,2位符号的00值可通过将存储器单元编程到四种可能数据状态(例如,对应于阈值电压电平的相应范围)中的相应一者而存储。以类似方式,4位符号(例如,0101)的特定值可通过将一或多个存储器单元编程到16种可能数据状态中的相应一者而存储,且8位符号(例如,00000110)的特定值可通过将一或多个存储器单元编程到256中不同数据状态中的相应一者而存储,以此类推。举例来说,前述符号中的任一者可作为一或多个数据信号的一或多个可测量物理性质(例如,声、电流辐射及/或电压电平)而传递。
[0015] 此外,“码字”可存储为多个存储器单元(例如,也许多达200个或200个以上)的表示程序数据(例如,所存储信息或待存储的信息)的相应经编程数据状态连同(举例来说)多个存储器单元状态的表示奇偶数据的相应经编程数据状态,后者可用于检测及/或校正程序数据中经由各种机制可能已引入的错误。奇偶数据还可称为错误保护数据。所主张标的物的实施例可包含指示已知及/或可粗略估计码字内的一或多个错误的位置的擦除旗标。在已知及/或可粗略估计码字内的一或多个错误的位置的情况下,某些错误保护码(举例来说,例如里德-索罗门错误保护码)可能够校正也许多达在不知道一或多个错误的位置的情况下可校正的错误的数目的两倍(但本文中的内容均不应解译为将所主张标的物的实施例要求或限制于特定译码技术)。在此上下文中,错误保护码是指用于检测及/或校正错误的码(ECC)。在此上下文中,码字连同错误保护码一起可包括存储器内表示程序数据及奇偶数据的经编程数据状态。
[0016] 可在多种上下文中采用存储器。作为实例,计算系统中可包含存储器。在此上下文中,术语计算系统是指通过总线耦合的至少一处理器及存储器。同样地,在此应用中,术语存储器、存储器系统、存储器模、存储器装置及/或存储器设备可互换使用,除非使用的上下文另有指示。然而,存储器单元是指存储器内的存储单元,且存储器阵列是指存储器单元的阵列。通常,阵列中的存储器单元包括存储器核心。然而,应理解,举例来说,存储器、存储器系统、存储器模块、存储器装置及/或存储器设备还可包含其它电路或组件以实现存储器单元的使用。同样地,存储器子系统是指存储器系统的子部分。
[0017] 对于一些类型的存储器,与存储器单元可从第二数据状态(例如,“0”数据状态)双态切换到第一数据状态(例如,“1”数据状态)相比,所述存储器单元可较容易地从第一数据状态双态切换到第二数据状态。此存储器单元可称作“单向”存储器单元。举例来说,通过将电荷添加到存储器单元的电荷存储结构(例如,浮动栅极或电荷陷阱),呈“1”数据状态的NOR或NAND快闪存储器单元可相对容易地双态切换到“0”数据状态。然而,电荷可相对难以从存储器单元的电荷存储结构移除,从而使得较难以从“1”数据状态往回双态切换到“0”数据状态。此外,通常实质上同时擦除快闪存储器装置中的存储器单元块以将呈“0”数据状态的单元往回双态切换到“1”数据状态,此称为块擦除或块擦除操作。然而,执行一或多个块擦除可包括不期望地慢的过程。
[0018] 在实施例中,可编程到两种以上数据状态中的一者的存储器单元通常称为多电平存储器单元(MLC或MLC单元)。关于典型MLC单元,数据的N个位(其中N大于1)的特定N值由M种数据状态中的相应一者表示,其中M=2。在此情形中,MLC单元可用于存储数据的N个位。举例来说,作为实例,可将MLC单元编程到四种数据状态中的一者,其中第一数据状态可表示二进制值11,第二数据状态可表示二进制值01,第三数据状态可表示二进制值10,且第四数据状态可表示二进制值00。通过将电荷连续地添加到单元的电荷结构且不必擦除所述单元,实施例中的此单元可从第一数据状态转变到第二数据状态、从第二数据状态转变到第三数据状态且从第三数据状态转变到第四数据状态。因此,将此单元从第一数据状态编程(例如,写入)到第一、第二或第三数据状态、从第二数据状态编程(例如,写入)到第三或第四数据状态或者从第三数据状态编程(例如,写入)到第四数据状态在本文中可视为“沿允许方向编程”。同时,由于这样常规地将涉及首先擦除单元,因此在任何其它数据状态之间对单元进行编程在本文中可视为“沿非允许方向编程”(如所理解,此并不意指不允许在此些数据状态之间对单元进行编程,而是仅意指这样涉及首先擦除单元)。
[0019] 在本发明的实施例中,代替使用MLC单元来存储数据的N个位(再次,其中M=N2),可将单元编程到M种数据状态中的一者以表示少于数据的N个位的值。举例来说,可将此单元编程到四种数据状态中的一者(其中此单元在本文中有时称为四电平MLC单元),其中第一数据状态可表示二进制值“1”,第二数据状态可表示二进制值“0”,第三数据状态还可表示二进制值“1”,且第四数据状态还可表示值“0”。举例来说,通过将电荷连续地添加到单元的电荷结构,因此根据此实施例的存储器单元可从(举例来说)“1”数据状态转变到“0”数据状态、从“0”数据状态转变到另一“1”数据状态且从所述另一“1”数据状态转变到另一“0”数据状态。因此,在此实例中,通过添加电荷且不擦除单元,根据此实施例的单元可在位值(例如,“1”及“0”)之间双态切换达特定次数。
[0020] 在本文中所揭示的实施例中,此些MLC单元可以多电平方式使用以存储多个数位(例如,通常称为“位”的二进制数位),而其它MLC单元可用于存储单个数位(例如,位)。举例来说,所存储的数据可包括(举例来说)用于给码字中的程序数据提供错误保护的奇偶数据,例如先前所描述。根据此实施例,可减少块擦除。
[0021] 举例来说,给码字提供错误保护可涉及检测及/或校正与从存储器读取的码字相关联的错误。举例来说,例如Hamming(7,4)的汉明码可用于通过添加3个位的奇偶数据以形成码字数据而将4个位的程序数据编码成7个位的经编码数据,其中在此实例中,奇偶数据的位可操作以给程序数据的相应三个位提供错误保护。
[0022] 常规地,只要编程沿允许方向,那么编程(例如,存储器写入)操作可双态切换存储于存储器单元中的位而不首先擦除所述单元。另一方面,如果编程操作沿非允许方向,那么常规地,在可双态切换位之前首先擦除(例如,经由块擦除)单元。相比之下,沿允许方向的编程操作不需要涉及块擦除,此否则可为不期望地慢的或延迟编程操作。
[0023] 然而,即使进行编程以双态切换码字中的程序数据的位可沿允许方向,此操作可仍涉及沿非允许方向对与所述码字相关联的奇偶数据的位进行编程。因此,虽然在双态切换之前可不需要块擦除,但与码字相关联的奇偶数据的改变可仍需要块擦除。尽管错误保护可被“关断”或以其它方式被忽略以避免此块擦除,但这样将意指可不期望地失去针对码字的至少某一错误保护。
[0024] 因此,本文中所描述的实施例可涉及给存储器装置提供错误保护同时避免块擦除或使块擦除操作较不频繁地发生的技术。技术可允许在不必需要块擦除的情况下沿常规非允许方向对奇偶数据的数位进行编程。一种技术可包含产生在执行块擦除操作之前将奇偶数据改变的数目维持低于阈值的奇偶数据。在可能实施例中,奇偶数据可至少部分地使用奇偶产生器阵列而产生,所述奇偶产生器阵列可以将奇偶数据改变的数目维持低于阈值的方式建构。举例来说,在一个实施例中,第一存储器单元群组的单个MLC单元可用于存储奇偶数据的单个位。同时,第二存储器单元群组的单个MLC单元可用于存储程序数据的两个或两个以上位。
[0025] 在一个实施方案中,举例来说,存储器编程电路可将电荷存储于MLC单元的电荷存储结构中以在擦除MLC单元之前多次改变奇偶数据的位(例如,在第一值与第二值之间双态切换奇偶数据的位)。在实施例中,可能改变的数目可对应于MLC单元可编程到的可能数据状态的数目。举例来说,如果MLC单元可编程到M种(例如,四种)可能数据状态中的一者,那么其可被双态切换最多达M-1次(例如,如果M=4,那么3次)。当然,操作一或多个存储器单元的这些细节仅为实例,且所主张标的物不限于此。
[0026] 如上文所提及,例如NAND或NOR快闪存储器装置的快闪存储器装置可包含(举例来说)可用于每单元存储奇偶数据的单个位而非每单元存储多个位的一或多个MLC单元。举例来说,数据的单个位的值可包括“1”或“0”。在一个可能实施例中,MLC单元可包含能够经编程使得其阈值电压电平处于若干(M个)不同电压范围中的一者的晶体管,相应电压范围个别地对应于存储器单元的相应数据状态。这些数据状态中的一些数据状态在检测存储器单元被编程到多种可能数据状态当中的哪一数据状态(在此实例中,表示奇偶数据)的过程中可为彼此可区分的。举例来说,在一个可能实施例中,写入控制器或读取控制器可(举例来说)操作适应将数据的单个位存储于MLC存储器单元中的存储器装置。
[0027] 在一或多个实施例中,包含程序数据及奇偶数据的码字数据可存储于设备(例如存储器装置)中,使得奇偶数据的所存储位可能够在不首先擦除存储器装置的存储奇偶数据的对应单元(或块)的情况下不止一次地被改变。在一个实施方案中,码字数据可在存储器中存储为位群组,其中奇偶数据可存储为与程序数据的相应位群组相关联的数据的位。因此,在实例中,码字数据可在存储器中存储为程序及奇偶数据的一致地定大小的位群组。
举例来说,奇偶数据可(举例来说)存储为与程序数据的一致地定大小的位群组相关联的数据的相应位以形成码字或其部分。在一个实例中,除奇偶数据外,码字还可包括(举例来说)存储为十六个16位字的256个位的程序数据。当然,程序数据或程序及奇偶数据的一致地定大小的位群组一起可包括任何数目个位,例如一字节、一字、多个字节或多个字的位,且所主张标的物在此方面不受限。
[0028] 码字数据的位群组的大小可影响分配到存储奇偶数据的存储器的量。举例来说,当位群组中的程序数据位的平均数目增加时,分配到存储奇偶数据(例如,阵列额外负担的至少一部分)的快闪存储器的量可相对于码字数据的量在百分比基础上减少。举例来说,百分比基础可包括奇偶数据的位的数目与码字数据的位的相关联数目的比率。
[0029] 如上文所提及,奇偶数据可经产生以在执行擦除操作(例如块擦除)之前将数据状态改变的数目维持低于特定数目。如先前所提到,在一个实施例中,奇偶数据的位可与包含多个位的处于粒度级别的程序数据相关联。举例来说,奇偶数据的位可与程序数据的位群组(例如程序数据的字节、字、多个字节或多个字)相关联。在一些实例中,位群组可一致地定大小。换句话说,在一些实施例中,奇偶数据的位可在每单元基础、每字节基础或每字基础上与程序数据相关联,仅举几例。然而,在其它实施例中,群组不必必须一致地定大小。
[0030] 图1是针对单电平存储器单元(SLC或SLC单元)的编程操作的实施例的示意图。平轴可用于描述存储器单元的晶体管的电荷存储结构上的电荷量,且垂直轴可用于描述存储器单元的数据状态概率的量值。举例来说,数据状态概率可表达存储器单元处于两种数据状态中的一者(例如“1”数据状态或“0”数据状态)的概率。当然,其它实施例可涉及任何数目个存储器单元数据状态,且所主张标的物在此方面不受限。作为实例,存储器单元的电荷存储结构在任何编程之前可处于电荷电平105,其可对应于“1”数据状态。通过将电荷添加到电荷存储结构,存储器单元可转变(例如,双态切换)到“0”数据状态。举例来说,存储器单元的电荷存储结构可经充电达电荷电平120,其可对应于“0”数据状态。为进一步转变(例如,双态切换)SLC单元的数据状态,举例来说,可采用擦除操作,例如包括块擦除的擦除操作。遗憾地,举例来说,快闪存储器中的擦除(举例来说)通常涉及擦除存储器单元块而非单个存储器单元,及/或与其它存储器操作(例如对单元进行编程)相比,可为相对较慢的。当然,“1”数据状态及“0”数据状态不必对应于图1中所展示的电荷电平,图1中所展示的电荷电平也不必对应于“1”数据状态及“0”数据状态,且所主张标的物在此方面不受限。此仅为图解。
[0031] 可将MLC单元编程到两种以上数据状态中的一者,如图2中所展示,其是能够存储数据的两个位(例如,二进制值11、10、00或01)的MLC单元的实施例的示意图,所述MLC单元在本文中有时称为四电平MLC单元。水平轴可用于描述存储器单元的电荷存储结构上的电荷量,且垂直轴可用于描述存储器单元的数据状态概率的量值。数据状态概率可表达存储器单元被编程到四种数据状态中的一者的概率,例如对应于二进制值“11”、“10”、“00”及/或“01”的那些数据状态。当然,其它实施例可涉及任何数目种数据状态,且所主张标的物不限于此。此仅为图解。
[0032] 如先前所提及,存储器单元可包含可编程到若干电压电平范围中的一者内的阈值电压的晶体管(未展示),其中范围对应于相应数据状态,例如230、240、250及260,所述数据状态又表示数据的一个以上位的相应值。举例来说,第一数据状态230可对应于低于第一电平235的电压电平。第二数据状态240可对应于第一电平与第二电平245之间的电压电平。第三数据状态250可对应于第二电平与第三电平255之间的电压电平,第四数据状态260可对应于高于第三电平的电压电平,以此类推。举例来说,个别数据状态可表示数据的两个位的相应值,例如数据状态230的情形中的“11”,数据状态240的情形中的“10”,数据状态250的情形中的“00”,或数据状态260的情形中的“01”。当然,数据状态不必对应于特定电压范围或表示图2中所展示的特定值,且所主张标的物在此方面不受限。此仅为图解。
[0033] 根据实施例,MLC单元可用于存储奇偶数据的单个位,如图3中所展示,其是若干电压电平范围的实施例300的示意图,其中一些范围可表示存储于单元中的奇偶数据的单个位的相同值,如在此实例中所图解说明。图4是用以将数据的单个位存储于MLC单元中的过程400的实施例的流程图,例如图3中所展示的过程。图3中的水平轴可用于描述存储器单元的电荷存储结构上的电荷量,且垂直轴可用于描述存储器单元的数据状态概率的量值。举例来说,数据状态310、320、330及340可分别对应于约1.0伏特到1.2伏特、2.0伏特到2.2伏特、3.3伏特到3.5伏特及4.8伏特到5.0伏特的范围中的电压电平。当然,这些电压电平范围仅为实例,且所主张标的物不限于此。此仅为图解。MLC单元可包含任何数目个电压电平范围,且所主张标的物不限于四个范围。
[0034] 根据实施例,MLC单元可在不擦除电荷存储结构的情况下多次被编程。举例来说,在过程400中,存储器单元可以处于对应于第一数据状态310的电荷电平的电荷存储结构开始(举例来说)以存储具有二进制值“1”的数据的位。举例来说,在实施方案中,此可对应于刚刚执行擦除操作。在实施方案中,因此,存储器单元可存储作为擦除存储器单元的结果具有二进制值“1”的数据的位(例如,参见块460)。当然,此仅为说明性实施例,且许多其它替代方案是可能的且包含于所主张标的物的范围内。
[0035] 继续此实例,通过将电荷添加(例如,注入)到电荷存储结构,单元的数据状态可经转变以存储具有二进制值“0”的位,如块430及435中所展示。因此,存储器单元的电荷存储结构可处于对应于第二数据状态320的电荷电平(例如,在范围中),举例来说,借此存储具有二进制值“0”的数据的位。通过将额外电荷添加到电荷存储结构,存储器单元的数据状态可再次经转变以存储具有二进制值“1”的位,如块440及445中所展示。因此,存储器单元的电荷存储结构可处于对应于第三数据状态330的电荷电平(例如,在范围中),从而存储具有二进制值“1”的数据的位。通过仍将额外电荷添加到电荷存储结构,存储器单元的数据状态可再次经转变以存储具有二进制值“0”的位,如块450及455中所展示。因此,存储器单元的电荷存储结构可处于对应于第四数据状态340的电荷电平(例如,在范围中),从而存储具有二进制值“0”的数据的位。根据所图解说明的实施例,为进一步转变存储器单元的数据状态,可采用擦除操作,如块460中所展示,从而在擦除操作之后将单元返回到初始状态,如先前所描述。当然,上文所描述的编程或擦除操作的细节仅为转变存储器单元的数据状态的实例,且所主张标的物不限于此。
[0036] 图5是使程序数据与码字中的奇偶数据相关联(例如,采用ECC或错误保护码)的实施例500的示意图。尽管展示数据的特定布置,但这些仅为实例,且所主张标的物不限于任何特定数目。如上文所论述,奇偶数据可给写入到存储器的程序数据提供错误保护。举例来说,奇偶数据可包括可与码字的特定程序数据相关联的一或多个位。通过将存储器单元编程到对应数据状态而存储于存储器单元中的位集可包括包含程序数据及相关联奇偶数据的码字数据。
[0037] 返回到先前实例,在此实例中,Hamming(7,4)码可用于将四个位的程序数据编码成码字的七个位的经编码数据,包含3个位的奇偶数据。在实施例中,为适应此码,可将码字的字510分割成4个位的群组520。在此实例中,可将此群组520中的四个位的程序数据编码成7个位的经编码数据(例如,四个位的程序数据530及三个位的相关联奇偶数据540)。当然,其它实施例可涉及ECC的其它布置,其中码字数据由程序数据形成且与奇偶数据相关联,且所主张标的物不限于任何特定布置。举例来说,在一种情形中,十一个位的程序数据可与四个位的奇偶数据相关联(例如,Hamming(15,11)),而在另一情形中,二十六个位的程序数据可与五个位的奇偶数据相关联(例如,Hamming(31,26))。在这些情形中,举例来说,码字数据的分割可不同于图5中所展示的分割。
[0038] 返回到实施例500,程序数据530可以多电平方式存储于MLC单元中。以多电平方式将程序数据存储于MLC单元中允许将给定量的程序数据存储于比在将相同量的程序数据存储于SLC单元中的情形中少的单元中。因此,可增加用于存储程序数据的容量。举例来说,四个位的程序数据可存储于能够编程到四种数据状态中的一者的两个MLC单元中。换句话说,数据的一个以上位可存储于单个MLC单元中。同时,在至少一个实施例中,奇偶数据540的单个位可存储于单个MLC单元中。举例来说,奇偶数据的位可存储于能够编程到四种数据状态中的一者的单个MLC中。将奇偶数据的单个位存储于单个MLC单元中可允许在采用块擦除操作之前对此MLC单元进行多次编程。因此,可多次改变存储于单个MLC单元中的奇偶数据的位的值。
[0039] MLC 550上所实施的特定编程操作可在不具有块擦除或具有较少块擦除操作的情况下导致所存储程序数据改变。同样地,根据实施例,作为改变相关联程序数据的结果,可对存储与此所存储程序数据相关联的奇偶数据的位的MLC单元560进行重新编程,但还是不具有块擦除或具有较少块擦除操作。因此,在实施例中,编程操作可经实施以适应在不具有块擦除或具有较少块擦除操作的情况下的奇偶数据及/或程序数据改变。
[0040] 在若干可能技术当中,可使用奇偶产生器阵列(例如矩阵)来产生奇偶数据,此可以准许奇偶数据在擦除操作之前改变特定数目次的方式采用。举例来说,在实施方案中,如果奇偶数据存储于能够编程到四种数据状态中的一者的MLC单元中,那么奇偶产生器阵列可准许奇偶数据的位改变三(例如,四减去一)次,但所主张标的物不限于此。
[0041] 图6是奇偶产生器阵列600(例如矩阵)的实施例。阵列600可对应于其中能够编程到四种数据状态中的一者的MLC单元可用于存储奇偶数据的实施方案。Hamming(20,12)码可用于产生奇偶数据,但所主张标的物不限于此。奇偶产生器阵列可包括同样表示程序数据的若干位的一个维度及表示奇偶数据的若干位的另一维度。当然,图6中所展示的布置仅为实例,且所主张标的物不限于此。
[0042] 阵列600可包括十二行及八列。在所述阵列中,“1”可由编程到“1”数据状态的存储器单元表示,且“0”可由编程到“0”数据状态的存储器单元表示。阵列600的列可对应于奇偶数据的位。阵列600的行可对应于程序数据的位。列及行中的“1”可形成程序数据的相应位与奇偶数据的相应位之间的关联关系。因此,阵列600中的位置可表示程序数据的特定位与奇偶数据的特定位之间的关联关系。
[0043] 在实施例中,采用阵列600(例如图6中所图解说明的阵列)可准许奇偶数据的位(举例来说)在采用擦除操作之前改变三次,其中在此特定实例(例如,针对包含能够编程到四种数据状态中的一者的MLC的MLC存储器阵列)中,奇偶数据的位可与程序数据的三个位相关联。举例来说,如先前所论述,可采用多电平能以准许沿否则不允许(例如,涉及采用擦除操作)的方向改变。因此,在至少一个可能实施例中,对应于奇偶数据的位的列可包含三个“1”。
[0044] 行及列中可包含其它数目个“1”。在一个实施方案中,举例来说,在产生奇偶数据或奇偶产生器阵列之前,MLC单元能够被编程到的数据状态的数目可预先存储或为可选择的(作为实例,例如借助专用软件)。作为一个实例,处理器可使用此信息来产生适当奇偶产生器阵列。
[0045] 图7是奇偶产生器阵列700(例如矩阵)的另一实施例。阵列700可包括在至少一些方面类似于阵列600实施方案的另一实施方案。通过模拟,阵列600的行可对应于阵列700的子阵列(例如,710、720、730等等)。因此,阵列600中的行对应于程序数据的位,如刚刚所描述;同样地,700中的子阵列对应于程序数据的字。阵列600中的列包含三个“1”;
同样地,阵列700经布置使得三个子阵列具有对应非零列。
[0046] 先前,采用一个位的奇偶。此处,采用包括两个位的奇偶符号。因此,举例来说,奇偶产生器阵列700包括包含对应于存储四个状态电平的MLC的四进制值状态的阵列。即,在此实例中,阵列700中的组件可包括四个数中的任一者:“0”;“1”;“2”;或“3”。在图7中,为方便起见,阵列700中的其中不写入组件的空白空间表示“0”。
[0047] 再次,阵列700的子阵列对应于程序数据的字。更明确地说,阵列700的个别行对应于字(例如,存储于四电平MLC中)的程序数据的两个位。因此,阵列700的八个行可对应于可使用阵列700进行编码的程序数据的十六个位(例如,字)。当然,用于描述阵列700的特定数目及其它细节仅为实例,且所主张标的物不限于此。
[0048] 因此,在码字包含分割成十六个字(例如,一致地定大小的位群组)的256个位的程序数据的情况下,阵列700可包含十六个子阵列710、720、730及740(未展示730与740之间的子阵列)。在此情形中,字包括十六个位。在此实例中,阵列700的个别子阵列对应于十六位字,如上文所述。为产生供在检测及/或校正针对256位实例(例如,存储于128个MLC单元中的十六个字)的错误中使用的奇偶数据,阵列700的三个子阵列包含对应非零列,其中所述列对应于奇偶符号。因此,举例来说,阵列700的个别子阵列710到740包含一些对应非零列。
[0049] 个别子阵列710到740可包括八行及十六列“0”、“1”、“2”或“3”。个别子阵列710到740中的“1”、“2”或“3”可形成程序数据与奇偶数据之间的关联关系。因此,阵列
700的子阵列中的非零列交叉(例如,对应列)可表示程序数据的字(例如,具有“字级别”粒度)与奇偶符号之间的关联关系。因此,在此实例中,通过建构,准许双态切换最多达三次的奇偶符号(举例来说)可与程序数据的三个字相关联。
[0050] 阵列700可对应于其中能够编程到四种数据状态中的一者的MLC单元用于存储奇偶符号的实施方案,如上文所提及。因此,阵列700可用于产生针对处于字级别的粒度的程序数据的奇偶数据。程序数据可一次一字地改变(例如,每编程操作一个字改变)。通过模拟,而且相比之下,阵列600提供程序数据中的位级别粒度改变的图解说明。因此,看来,对于对应量的程序数据,与存储对应于一字(例如,在此实例中,16位)级别粒度的奇偶数据相比,较大数目个MLC可涉及存储对应于一位级别粒度的奇偶数据。当然,应注意,针对特定实施例可产生而非存储阵列。
[0051] 使用用于产生奇偶数据的阵列700,可准许可存储于四状态MLC中的任何特定奇偶符号最多达三次状态转变。在包括十六个16位字的码字的实例中,编程(例如,写入)操作可一次一字地存储数据。举例来说,可对(程序数据的十六个字中的)第一字进行编程,此后可对第二字进行编程,以此类推。当然,阵列700的细节仅为实例,且所主张标的物不限于此。
[0052] 表1展示至少部分地基于奇偶产生器阵列的针对四电平MLC的具有程序数据(例如,列C)及/或奇偶数据(例如,列B)的变化布置的若干情形。当然,奇偶产生器阵列可包括任何形式或结构,且所主张标的物不必限于包括列或行的奇偶产生器阵列。然而,列A中的行6可对应于涉及阵列600或其中奇偶数据对应于列且程序数据对应于行的实例实施例。列D展示奇偶符号与程序数据位的数目的比率。举例来说,列E展示可在例如实施例500的实施例中使用的MLC单元的数目。
[0053] 表1
[0054]
[0055]
[0056] 图8是图解说明呈包含存储器模块910(其也可视为设备)的计算系统900的形式的设备的实施例的示意图,举例来说,存储器模块910可包括包含彼此互连成链状拓扑的若干存储器装置的多芯片存储器模块。举例来说,计算装置可包括用以执行应用程序或其它码的一或多个处理器。计算装置904可表示可用于管理存储器模块910的任何装置、器具或机器。存储器模块910可包含存储器控制器915及存储器922。以实例方式而不以限制方式,计算装置904可包含:一或多个计算装置或平台,例如桌上型计算机、膝上型计算机、工作站、服务器装置等等;一或多个个人计算或通信装置或器具,例如个人数位助理、移动通信装置等等;计算系统或相关联服务提供者能力,例如数据库或信息存储服务提供者或系统;或其任何组合。
[0057] 认识到,系统900中所展示的各种装置以及如本文中进一步所描述的过程及方法中的全部或部分可使用或以其它方式包含硬件固件、软件中的至少一者(软件本身除外)来实施。因此,以实例方式而不以限制方式,计算装置904可包含至少一个处理单元920,所述处理单元经由总线940及主机或存储器控制器915操作地耦合到存储器922。处理单元920表示能够执行计算程序或过程的至少一部分的一或多个装置。以实例方式而不以限制方式,处理单元920可包含一或多个处理器、微处理器、控制器、专用集成电路、数位信号处理器、可编程逻辑装置、现场可编程门阵列等等或其任何组合。处理单元920可包含能够与存储器控制器915通信的待执行的操作系统。举例来说,操作系统可产生待在总线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可包含输入/输出装置或单元932。
[0060] 输入/输出单元或装置932表示可能够接受或以其它方式接收来自人或机器的信号输入的一或多个装置或特征,或者可能够递送或以其它方式提供待由人或机器接收的信号输出的一或多个装置或特征。以实例方式而不以限制方式,输入/输出装置932可包含显示器、扬声器、键盘鼠标轨迹球触摸屏等。
[0061] 当然,将理解,尽管刚刚已描述了特定实施例,但所主张标的物在范围上不限于特定实施例或实施方案。举例来说,一个实施例可以硬件方式(例如)实施于装置或装置的组合上。同样地,尽管所主张标的物在范围上不限于此方面,但一个实施例可包括一或多个物品,例如可在其上存储有能够由特定或特殊用途系统或设备执行(举例来说)以产生根据所主张标的物的方法的实施例(例如先前所描述的实施例中的一者)的性能的指令的一或多个存储媒体。然而,所主张标的物当然不必限于所描述的实施例中的一者。此外,特定或特殊用途计算平台可包含一或多个处理单元或处理器、一或多个输入/输出装置(例如显示器、键盘或鼠标)或一或多个存储器(例如静态随机存取存储器、动态随机存取存储器、快闪存储器或硬盘驱动器),但再次所主张标的物在范围上不限于此实例。
[0062] 在一些情形中,举例来说,存储器装置的操作(例如数据状态的改变)可包括变换,例如物理变换。借助特定类型的存储器装置,此物理变换可包括物品到不同状态或事物的物理变换。举例来说,但不加限制地,针对一些类型的存储器装置,数据状态的改变可涉及电荷的积累及存储或所存储电荷的释放。同样地,在其它存储器装置中,数据状态的改变可包括磁定向的物理改变或变换或者分子结构的物理改变或变换,例如自晶体到非晶形,或反之亦然。前述内容并非打算为其中设备(例如存储器装置)中的数据状态的改变可包括变换(例如物理变换)的所有实例的穷尽性列表。而是,前述内容打算为说明性实例。
[0063] 存储媒体通常可为非暂时性的或包括非暂时性装置。在此上下文中,非暂时性存储媒体可包含有形的器件,此意指所述器件具有具体物理形式,但所述器件可改变其物理状态。因此,举例来说,非暂时性是指器件保持有形而不管此状态改变如何。
[0064] 在前述说明中,已描述了所主张标的物的各个方面。出于阐释目的,可能已陈述特定数目、系统或配置以提供对所主张标的物的透彻理解。然而,受益于本发明的所属领域的技术人员应明了,可在不具有那些特定细节的情况下实践所主张标的物。在其它例子中,省略或简化所属领域的技术人员将理解的特征以便不使所主张标的物模糊。虽然本文中已图解说明或描述了某些特征,但所属领域的技术人员现在可想到许多修改、替代、改变或等效物。因此,应理解,所附权利要求书打算涵盖归属于所主张标的物的真正精神内的所有此些修改或改变。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈