CN104298571B - 数据保护方法、存储器储存装置与存储器控制器 - Google Patents
数据保护方法、存储器储存装置与存储器控制器 Download PDFInfo
- Publication number
- CN104298571B CN104298571B CN201310300262.5A CN201310300262A CN104298571B CN 104298571 B CN104298571 B CN 104298571B CN 201310300262 A CN201310300262 A CN 201310300262A CN 104298571 B CN104298571 B CN 104298571B
- Authority
- CN
- China
- Prior art keywords
- those
- memory cell
- wordline
- error
- 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.)
- Active
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
本发明提供一种数据保护方法、存储器储存装置与存储器控制器,用于一可复写式非易失性存储器模块。此数据保护方法包括:利用多个存储单元中的多个第一存储单元所储存的数据来产生一第一错误校正码。这些第一存储单元是位于多条第一字线与多条第一位线上。在每一条第一位线上的存储单元中,只有一个存储单元所储存的数据是用以产生第一错误校正码。藉此,可以有效地保护存储单元中的数据。
Description
技术领域
本发明是有关于一种数据保护方法,且特别是有关于一种用于可复写式非易失性存储器模块的数据保护方法、存储器储存装置与存储器控制器。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,一个可复写式非易失性存储器模块会包括多个实体区块,每一个实体区块会包括多个存储单元,每一个存储单元是位于一条位线与一条字线上。同一条字线上的存储单元会组成一或多个实体页面,并且这些实体页面可被分为下实体页面与上实体页面。下实体页面必须先被程序化以后,上实体页面才能被程序化。因此,若一个下实体页面已储存了数据,且在程序化位于同一条字线的上实体页面时发生了程序化错误,则该下实体页面所储存的数据也可能会发生错误。一种解决的方式是利用错误校正码来保护可能发生错误的数据。然而,当一个存储单元发生程序化错误时,此程序化错误也可能会影响到同一条位线上其他的存储单元。也就是说,可能会需要许多错误校正码来保护数据。因此,如何有效的使用错误校正码来保护存储单元中的数据,为此领域技术人员所关心的议题。
发明内容
本发明提供一种数据保护方法、存储器储存装置与存储器控制器,可以有效地保护可复写式非易失性存储器模块中的数据。
本发明一范例实施例提出一种数据保护方法,用于控制一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括多条字线、多条位线与多个存储单元。每一个存储单元是位于其中一条字线与其中一条位线上,并且这些存储单元组成多个实体抹除单元。此数据保护方法包括:利用上述存储单元中的多个第一存储单元所储存的数据来产生一第一错误校正码。这些第一存储单元是位于多条第一字线与多条第一位线上。在每一条第一位线上的存储单元中,只有一个存储单元所储存的数据是用以产生第一错误校正码。
在一范例实施例中,上述的第一字线彼此相隔至少一条字线。
在一范例实施例中,上述的第一位线彼此相隔至少一条位线。
在一范例实施例中,上述的数据保护方法还包括:利用上述存储单元中多个第二存储单元所储存的数据来产生一第二错误校正码。这些第二存储单元是位于多条第二字线与多条第二位线上。在每一条第二位线上的存储单元中,只有一个存储单元所储存的数据是用以产生第二错误校正码。此外,上述第一错误校正码不同于第二错误校正码。
在一范例实施例中,上述第二位线的其中之一是相同于上述第一位线的其中之一。
在一范例实施例中,上述第二字线的其中之一是相同于上述第一字线的其中之一。
在一范例实施例中,上述的数据保护方法还包括:将第一错误校正码储存在上述的其中一个实体抹除单元中。
在一范例实施例中,上述的数据保护方法还包括:将第一错误校正码分为多个部分,将其中一个部分储存在其中一条第一字线所对应的实体程序化单元中;将其中另一个部分储存在另一条第一字线所对应的实体程序化单元中。
本发明一范例实施例提出一种存储器储存装置,包括连接器、可复写式非易失性存储器模块与存储器控制器。连接器是用以电性连接至一主机***。可复写式非易失性存储器模块包括多条字线、多条位线与多个存储单元。每一个存储单元是位于其中一条字线与其中一条位线上,并且这些存储单元组成多个实体抹除单元。存储器控制器是电性连接至连接器与可复写式非易失性存储器模块,用以利用上述存储单元中的多个第一存储单元所储存的数据来产生一第一错误校正码。这些第一存储单元是位于多条第一字线与多条第一位线上。在每一条第一位线上的存储单元中,只有一个存储单元所储存的数据是用以产生第一错误校正码。
在一范例实施例中,上述的存储器控制器还用以利用上述存储单元中多个第二存储单元所储存的数据来产生一第二错误校正码。这些第二存储单元是位于多条第二字线与多条第二位线上。在每一条第二位线上的存储单元中,只有一个存储单元所储存的数据是用以产生第二错误校正码。此外,上述第一错误校正码不同于第二错误校正码。
在一范例实施例中,上述的存储器控制器还用以将第一错误校正码储存在上述的其中一个实体抹除单元中。
在一范例实施例中,上述的存储器控制器还用以将第一错误校正码分为多个部分,将其中一个部分储存在其中一条第一字线所对应的实体程序化单元中,并且将其中另一个部分储存在另一条第一字线所对应的实体程序化单元中。
本发明一范例实施例提出一种存储器控制器,用于控制上述的可复写式非易失性存储器模块。此存储器控制器包括主机接口、存储器接口、以及错误检查与校正电路。主机接口是用以电性连接至一主机***。存储器接口是用以电性连接至可复写式非易失性存储器模块。错误检查与校正电路是用以利用上述存储单元中的多个第一存储单元所储存的数据来产生一第一错误校正码。这些第一存储单元是位于多条第一字线与多条第一位线上。在每一条第一位线上的存储单元中,只有一个存储单元所储存的数据是用以产生第一错误校正码。
在一范例实施例中,上述的错误检查与校正电路还用以利用上述存储单元中多个第二存储单元所储存的数据来产生一第二错误校正码。这些第二存储单元是位于多条第二字线与多条第二位线上。在每一条第二位线上的存储单元中,只有一个存储单元所储存的数据是用以产生第二错误校正码。此外,上述第一错误校正码不同于第二错误校正码。
在一范例实施例中,上述的存储器控制器还包括一存储器管理电路,用以将第一错误校正码储存在上述的其中一个实体抹除单元中。
在一范例实施例中,上述的存储器控制器还包括一存储器管理电路,用以将第一错误校正码分为多个部分,将其中一个部分储存在其中一条第一字线所对应的实体程序化单元中,并且将其中另一个部分储存在另一条第一字线所对应的实体程序化单元中。
基于上述,本发明范例实施例提出的数据保护方法、存储器储存装置与存储器控制器,会根据不同位线且不同字线上的存储单元所储存的数据来产生错误校正码,藉此可以更有效地保护数据。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机***与存储器储存装置的示意图;
图1B是根据一范例实施例所绘示的电脑、输入/输出装置与存储器储存装置的示意图;
图1C是根据一范例实施例所绘示的主机***与存储器储存装置的示意图;
图2是绘示图1A所示的存储器储存装置的概要方块图;
图3是根据一范例实施例所绘示一个NAND串的俯视图;
图4是根据一范例实施例所绘示一个NAND串的等效电路图;
图5是根据一范例实施例所绘示的NAND串的侧视图;
图6是根据一范例实施例绘示一个实体抹除单元的示意图;
图7是根据一范例实施例所绘示的存储器控制器的概要方块图;
图8是根据一范例实施例绘示产生第一错误校正码的示意图;
图9~图11是根据一范例实施例所绘示产生第一错误校正码的示意图。
附图标记说明:
1000:主机***;
1100:电脑;
1102:微处理器;
1104:随机存取存储器;
1106:输入/输出装置;
1108:***总线;
1110:数据传输接口;
1702:鼠标;
1704:键盘;
1706:显示器;
1208:打印机;
1212:随身盘;
1214:存储卡;
1216:固态硬盘;
1310:数码相机;
1312:SD卡;
1314:MMC卡;
1316:存储棒;
1318:CF卡;
1320:嵌入式储存装置;
100:存储器储存装置;
102:连接器;
104:存储器控制器;
106:可复写式非易失性存储器模块;
304(0)~304(R):实体抹除单元;
300、302、304、306、320、322:晶体管;
320CG、300CG、302CG、304CG、306CG、322CG:控制栅极;
300FG、302FG、304FG、306FG:浮动栅极;
326、328:接触点;
340:基底;
330、332、334、336、338:多晶硅层;
SGD、SGS:选择栅极;
WL0~WL3:字线;
BL(0)~BL(N):位线;
360、ST0~STN:NAND串;
702:存储器管理电路;
704:主机接口;
706:存储器接口;
708:缓冲存储器;
710:电源管理电路;
712:错误检查与校正电路;
801~804、811~814、821~824、831~834、901、911~913、921~923、843:存储单元。
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存***)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机***一起使用,以使主机***可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据一范例实施例所绘示的主机***与存储器储存装置的示意图。
请参照图1A,主机***1000一般包括电脑1100与输入/输出(input/output,I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、***总线1108与数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1702、键盘1704、显示器1706与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机***1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图1B所示的随身盘1212、存储卡1214或固态硬盘(Solid StateDrive,SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机***1000为可实质地与存储器储存装置100配合以储存数据的任意***。虽然在本范例实施例中,主机***1000是以电脑***来作说明,然而,在本发明另一范例实施例中主机***1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等***。例如,在主机***为数码相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机***的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
在本范例实施例中,连接器102是相容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCIExpress)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数码(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded MultimediaCard,eMMC)接口标准、通用闪存(Universal Flash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机***1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机***1000所写入的数据。可复写式非易失性存储器模块106具有实体抹除单元304(0)~304(R)。例如,实体抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一实体抹除单元分别具有复数个实体程序化单元,并且属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
以NAND型闪存为例,一个实体抹除单元会包括多个NAND串(NAND string)。每一个NAND串会包括多个彼此串联的晶体管。图3是根据一范例实施例所绘示一个NAND串的俯视图。图4是根据一范例实施例所绘示一个NAND串的等效电路图。请参照图3与图4,NAND串360包括了晶体管320、300、302、304、306与322。晶体管320将NAND串360电性连接至接触点326,而晶体管322将NAND串360电性连接至接触点328。从接触点326至接触点328之间的线路亦可称为一条位线。控制栅极320CG是电性连接至选择线SGD,并且施加控制栅极320CG上的电压可以用来控制晶体管320。控制栅极322CG是电性连接至选择线SGS,并且施加于控制栅极322CG上的电压可以用来控制晶体管322。每一个晶体管300、302、304与306都有一个控制栅极与一个浮动栅极(floating gate)。施加于控制栅极的电压可用来控制对应的晶体管300、302、304与306,而浮动栅极可用来储存一或多个比特。例如,晶体管300具有控制栅极300CG与浮动栅极300FG;晶体管302具有控制栅极302CG与浮动栅极302FG;晶体管304具有控制栅极304CG与浮动栅极304FG;晶体管306具有控制栅极306CG与浮动栅极306FG。控制栅极300CG会电性连接至字线WL3,控制栅极302CG会电性连接至字线WL2,控制栅极304CG会电性连接至字线WL1,并且控制栅极306CG会电性连接至字线WL0。在此,晶体管300、302、304与306亦可被称为存储单元。
图5是根据一范例实施例所绘示的NAND串的侧视图。请参照图5,NAND串360是设置在基底340上。控制栅极300CG、302CG、304CG与306CG是分别设置在浮动栅极300FG、302FG、304FG与306FG上。一个介电层会被设置在控制栅极300CG、302CG、304CG、306CG与浮动栅极300FG、302FG、304FG、306FG之间。一个氧化层会被设置在浮动栅极300FG、302FG、304FG、306FG与基底340之间。邻近的存储单元会分享经参杂的多晶硅层330、332、334、336与338,并且一个多晶硅层会形成一个存储单元的源极或漏极。例如,多晶硅层332是晶体管306的漏极与晶体管304的源极;多晶硅层334是晶体管304的漏极与晶体管302的源极;多晶硅层336是晶体管302的漏极与晶体管300的源极,以此类推。当电子或是电洞被注入浮动栅极300FG、302FG、304FG或306FG时,对应的晶体管的临界电压会改变,藉此可以等效地用以储存一或多个比特。值得注意的是,在其他的范例实施例中,NAND串360也可以包括更多的存储单元,本发明并不限制一个NAND串中存储单元的数目。
图6是根据一范例实施例绘示一个实体抹除单元的示意图。
请参照图6,以实体抹除单元304(0)为例,实体抹除单元304(0)包括了多个NAND串ST0~STN。实体抹除单元304(0)也包括了多条字线WL0~WL3与多条位线BL(0)~BL(N)。实体抹除单元304(0)中的每一个存储单元都会位于一条字线与一条位线上。同一条字线上的多个存储单元会形成一或多个实体程序化单元。具体来说,若每一个存储单元可储存x个比特,则同一条字线上的多个存储单元会形成x个实体程序化单元,其中x为正整数。若正整数x大于1,则同一条字线上的x个实体程序化单元还可被分类为下实体程序化单元与上实体程序化单元。然而,本发明并不限制正整数x的数值。一般来说,实体抹除单元为抹除的最小单位。亦即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。在一范例实施例中,实体抹除单元亦可被称为实体区块,而实体程序化单元可被称为实体页面或是实体扇(sector)。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(MultiLevel Cell,MLC)NAND型闪存模块,即一个存储单元中可储存至少2个比特。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是单阶存储单元(Single Level Cell,SLC)NAND型闪存模块、复数阶存储单元(Trinary Level Cell,TLC)NAND型闪存模块、其他闪存模块或其他具有相同特性的存储器模块。或者,在一范例实施例中,可复写式非易失性存储器模块106可以是三维的NAND型闪存模块,而本领域具有通常知识者应可理解三维NAND型闪存中字线与位线的配置,在此并不赘述。
图7是根据一范例实施例所绘示的存储器控制器的概要方块图。
请参照图7,存储器控制器104包括存储器管理电路702、主机接口704与存储器接口706。
存储器管理电路702用以控制存储器控制器104的整体操作。具体来说,存储器管理电路702具有多个控制指令,并且在存储器储存装置100操作时,这些控制指令会被执行以进行数据的写入、读取与抹除等操作。
主机接口704是电性连接至存储器管理电路702并且用以接收与识别主机***1000所传送的指令与数据。也就是说,主机***1000所传送的指令与数据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,主机接口704是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704亦可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口706是电性连接至存储器管理电路702并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口706转换为可复写式非易失性存储器模块106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器708、电源管理电路710与错误检查与校正电路712。
缓冲存储器708是电性连接至存储器管理电路702并且用以暂存来自于主机***1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路710是电性连接至存储器管理电路702并且用以控制存储器储存装置100的电源。
错误检查与校正电路712是电性连接至存储器管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路702从主机***1000中接收到写入指令时,错误检查与校正电路712会为对应此写入指令的数据产生对应的错误校正码(Error Correcting Code,ECC Code),并且存储器管理电路702会将对应此写入指令的数据与对应的错误校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路702从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误校正码,并且错误检查与校正电路712会依据此错误校正码对所读取的数据执行错误检查与校正程序。
上述错误校正码的类型可以是奇偶校正码(parity checking code)、通道编码(channel coding)或是其他类型。例如,所产生的错误校正码可以是互斥或(exclusiveor,XOR)运算的结果、汉明码(hamming code)、低密度奇偶检查码(low density paritycheck code,LDPC code)、涡旋码(turbo code)或里德-所罗门码(Reed-solomon code,RScode),本发明并不在此限。若数据与错误校正码的长度比例为m:n,则表示长度为m的数据会对应至长度为n的错误校正码,其中m与n为正整数。本发明也不限制正整数m与正整数n的值。
在此范例实施例中,错误检查与校正电路712会根据实体抹除单元中多个第一存储单元中所储存的数据来产生一个错误校正码。这些第一存储单元是位于多条第一字线上与多条第一位线上。特别的是,在每一条第一位线上,只有一个存储单元所储存的数据会被用来产生第一错误校正码。如此一来,当把数据写入至一个实体程序化单元时若发生了错误,并且此错误也影响了同一条位/字线上的其他存储单元时,则上述的第一错误校正码可用来校正此错误。以下将举多个范例实施例来说明产生第一错误校正码的不同态样。
图8是根据一范例实施例绘示产生第一错误校正码的示意图。
请参照图8,在此以存储单元801~804、811~814、821~824与831~834为例。为了简化起见,图8并未绘示出选择栅极、浮动栅极与控制栅极。在此范例实施例中,错误检查与校正电路712至少会根据存储单元801、812、823、834中所储存的数据(标记为”A”)来产生第一错误校正码。存储单元801、812、823、834是位于位线BL(0)~BL(3)(亦称第一位线)与字线WL0~WL3(亦称第一字线)上。值得注意的是,在每一条位线BL(0)~BL(3)上只有一个存储单元所储存的数据会被用来产生第一错误校正码。例如,位线BL(0)上只有存储单元801所储存的数据会被用来产生第一错误校正码。相似地,位线BL(1)上只有存储单元812所储存的数据会被用来产生第一错误校正码。如此一来,在发生程序化错误时,第一错误校正码可以有较好的更正能力。举例来说,有一笔数据是储存在字线WL2中的下实体程序化单元。假设在将数据写入至字线WL2所对应的上实体程序化单元时发生了程序化错误,并且此错误是发生在存储单元812上。在此情况下,原本储存在存储单元812中的数据可能会发生错误,并且在同一条位线BL(1)上的存储单元811与813中的数据也可能会发生错误。然而,对于第一错误校正码来说,上述可能的错误只会影响一个存储单元中所储存的比特,因此第一错误校正码可用来校正存储单元812中的错误。
在一范例实施例中,错误检查与校正电路712至少会根据存储单元811、822、833中所储存的数据(标记为”B”)来产生一个第二错误校正码。其中,存储单元811、822、833是位于位线BL(1)~BL(3)(亦称第二位线)上与字线WL1~WL3(亦称第二字线)上。每一条第二位线BL(1)~BL(3)上只有一个存储单元所储存的数据会被用来产生第二错误校正码。例如,位线BL(1)上只有存储单元811所储存的数据会被用来产生第二错误校正码。相同地,位线BL(2)上只有存储单元822所储存的数据会被用来产生第二错误校正码。在此范例实施例中,存储单元811与存储单元801是位于同一条字线WL3上,并且是分别位于相邻的两条位线BL(1)与BL(0)上。另外,存储单元811与存储单元812是位于同一条位线BL(1)上,并且是分别位于相邻的两条字线WL3与WL2上。此第二错误校正码不同于上述的第一错误校正码。第二错误校正码是用来校正存储单元811、822、与833中的错误。在一范例实施例中,错误检查与校正电路712对所有存储单元中的数据都会产生相对应的错误校正码。
图9~图11是根据一范例实施例所绘示产生第一错误校正码的示意图。
请参照图9,在图9的范例实施例中,错误检查与校正电路712会利用多条字线上的多个存储单元所储存的数据来产生第一错误校正码。举例来说,错误检查与校正电路712会利用存储单元801、811至存储单元901中的数据,存储单元911、912至存储单元913中的数据,以及存储单元921、922至存储单元923中的数据来产生第一错误校正码。特别的是,在每一条位线Bl(0)~BL(N)上,只有一个存储单元所储存的数据会被用来产生第一错误校正码。在此范例实施例中,错误检查与校正电路712会从每一条字线上取得相同数量(例如,1k比特组)的数据,即存储单元801、811至存储单元901所储存的数据的大小为1k比特组,并且存储单元911~913所储存的数据的大小也是1k比特组。在此范例实施例中,第一错误校正码的最小保护单位为1k比特组,而最小保护单位亦可称为符号(symbol)。亦即,错误检查与校正电路712是从每一条字线上取得大小相同于最小保护单位的数据。然而,根据不同的错误校正码,最小保护单位的大小也不会相同。也就是说,本发明并不限制要从每一条字线取得多少数量的数据来产生第一错误校正码。或者,对于不同的字线,错误检查与校正电路712也可以取得不同数量的数据来产生第一错误校正码。
请参照图10,在图10的范例实施例中,错误检查与校正电路712至少是根据存储单元801、存储单元822与存储单元843所储存的数据来产生第一错误校正码。特别的是,存储单元801所位于的位线BL(0)与存储单元822所位于的位线BL(2)相隔一条位线;并且存储单元822所位于的位线BL(2)与存储单元843所位于的位线BL(4)相隔一条位线。然而,在另一范例实施例中,错误检查与校正电路712也可以从相隔两条以上位线且位于不同字线的存储单元中取得数据来产生第一错误校正码。
在另一范例实施例中,错误检查与校正电路712至少是根据存储单元801与存储单元813所储存的数据来产生第一错误校正码。特别的是,存储单元801所位于的字线WL3与存储单元813所位于的字线WL1相隔一条字线。然而,在另一范例实施例中,错误检查与校正电路712也可以从相隔两条以上字线且位于不同位线的存储单元中取得数据来产生第一错误校正码。
请参照图11,在图11的范例实施例中,错误检查与校正电路712至少会根据存储单元802、811、824与833中所储存的数据来产生第一错误校正码。或者,在另一范例实施例中,错误检查与校正电路712也可以根据存储单元804、813、822与831中所储存的数据来产生第一错误校正码。也就是说,本发明并不限制用来产生第一错误校正码(或第二错误校正码)的存储单元的位置。
在错误检查与校正电路712产生第一错误校正码(或第二错误校正码)以后,存储器管理电路710会将所产生的错误校正码写入至实体抹除单元304(0)~304(R)的其中一个。在一范例实施例中,错误检查与校正电路712是从实体抹除单元304(0)中取得数据来产生错误校正码,并且存储器管理电路710会将所产生的错误校正码写入同一个实体抹除单元304(0)中。然而,在另一范例实施例中,存储器管理电路710也可以将错误校正码写入至另一个实体抹除单元,本发明并不在此限。
在一范例实施例中,一个实体程序化单元会包括一个数据比特区与一个冗余比特区。数据比特区内的存储单元是用以储存使用者数据。冗余比特区内的存储单元可用以储存***数据。若错误检查与校正电路712是根据多个第一实体程序化单元中数据比特区内的数据来产生第一错误校正码,则错误检查与校正电路712会将所产生的第一错误校正码分散地储存在这些第一实体程序化单元中。举例来说,请参照回图9,错误检查与校正电路712是从字线WL1~WL3所对应的实体程序化单元中取得数据,因此错误检查与校正电路712会把所产生的第一错误校正码分割为三部分。其中一个部分会被储存在字线WL1所对应的实体程序化单元中(例如,冗余比特区);另外两个部分则会分别被储存在字线WL2与WL3所对应的实体程序化单元(例如,冗余比特区)。然而,在另一范例实施例中,所产生的第一错误校正码也可以全部都储存在一个实体程序化单元中,本发明并不在此限。或者,在另一范例实施例中,所产生的第一错误校正码是分散在多个实体程序化单元的数据比特区中,本发明并不在此限。
在此范例实施例中,错误校正码是由错误检查与校正电路712所产生。但在另一范例实施例中,错误校正码也可以由存储器管理电路710产生。举例来说,错误检查与校正电路712的操作可以实作为多个程序码,并且这些程序码由存储器管理电路710来执行。本发明一范例实施例提出一个数据保护方法,其会包括错误检查与校正电路712的操作,或者是上述程序码所形成的步骤。本发明并不限制用硬件或是软件的方式来实作数据保护方法。
综上所述,本发明范例实施例提出的数据保护方法、存储器储存装置与存储器控制器,会根据不同位线与不同字线上的存储单元所储存的数据来产生第一错误校正码。如此一来,当一个实体程序化单元中若干个存储单元发生错误,且此错误影响到同一条位线(或字线)上的其他存储单元时,第一错误校正码可用来校正发生的错误。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (24)
1.一种数据保护方法,用于控制一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多条字线、多条位线与多个存储单元,每一该些存储单元是位于该些字线的其中之一与该些位线的其中之一上,并且由该些存储单元组成多个实体抹除单元,该数据保护方法包括:
利用该些存储单元中多个第一存储单元所储存的数据来产生一第一错误校正码,其中该些第一存储单元位于该些字线中的多条第一字线与该些位线中的多条第一位线上,
其中,在每一该些第一位线上的该些存储单元中,只有一个存储单元属于该些第一存储单元,且只以属于该些第一存储单元的该存储单元所储存的数据产生该第一错误校正码。
2.根据权利要求1所述的数据保护方法,其特征在于,该些第一字线彼此相隔至少一条字线。
3.根据权利要求1所述的数据保护方法,其特征在于,该些第一位线彼此相隔至少一条位线。
4.根据权利要求1所述的数据保护方法,其特征在于,还包括:
利用该些存储单元中多个第二存储单元所储存的数据来产生一第二错误校正码,其中该些第二存储单元位于该些字线中的多条第二字线与该些位线中的多条第二位线上,
其中,在每一该些第二位线上的该些存储单元中,只有一个存储单元属于该些第二存储单元,且只以属于该些第二存储单元的该存储单元所储存的数据产生该第二错误校正码,并且该第一错误校正码不同于该第二错误校正码。
5.根据权利要求4所述的数据保护方法,其特征在于,该些第二位线的其中之一相同于该些第一位线的其中之一。
6.根据权利要求4所述的数据保护方法,其特征在于,该些第二字线的其中之一相同于该些第一字线的其中之一。
7.根据权利要求1所述的数据保护方法,其特征在于,还包括:
将该第一错误校正码储存在该些实体抹除单元的其中之一中。
8.根据权利要求1所述的数据保护方法,其特征在于,还包括:
将该第一错误校正码分为多个部分,将该些部分的其中之一储存在该些第一字线的其中之一所对应的实体程序化单元中;以及
将该些部分的其中之另一储存在该些第一字线的其中的另一所对应的实体程序化单元中。
9.一种存储器储存装置,其特征在于,包括:
一连接器,用以电性连接至一主机***;
一可复写式非易失性存储器模块,包括多条字线、多条位线与多个存储单元,并且每一该些存储单元是位于该些字线的其中之一与该些位线的其中之一上,并且由该些存储单元组成多个实体抹除单元;以及
一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,用以利用该些存储单元中多个第一存储单元所储存的数据来产生一第一错误校正码,其中该些第一存储单元位于该些字线中的多条第一字线与该些位线中的多条第一位线上,
其中,在每一该些第一位线上的该些存储单元中,只有一个存储单元属于该些第一存储单元,且只以属于该些第一存储单元的该存储单元所储存的数据产生该第一错误校正码。
10.根据权利要求9所述的存储器储存装置,其特征在于,该些第一字线彼此相隔至少一条字线。
11.根据权利要求9所述的存储器储存装置,其特征在于,该些第一位线彼此相隔至少一条位线。
12.根据权利要求9所述的存储器储存装置,其特征在于,该存储器控制器还用以利用该些存储单元中多个第二存储单元所储存的数据来产生一第二错误校正码,其中该些第二存储单元位于该些字线中的多条第二字线与该些位线中的多条第二位线上,
其中,在每一该些第二位线上的该些存储单元中,只有一个存储单元属于该些第二存储单元,且只以属于该些第二存储单元的该存储单元所储存的数据产生该第二错误校正码,并且该第一错误校正码不同于该第二错误校正码。
13.根据权利要求12所述的存储器储存装置,其特征在于,该些第二位线的其中之一相同于该些第一位线的其中之一。
14.根据权利要求12所述的存储器储存装置,其特征在于,该些第二字线的其中之一相同于该些第一字线的其中之一。
15.根据权利要求9所述的存储器储存装置,其特征在于,该存储器控制器还用以将该第一错误校正码储存在该些实体抹除单元的其中之一中。
16.根据权利要求9所述的存储器储存装置,其特征在于,该存储器控制器还用以将该第一错误校正码分为多个部分,将该些部分的其中之一储存在该些第一字线的其中之一所对应的实体程序化单元中,并且将该些部分的其中的另一储存在该些第一字线的其中的另一所对应的实体程序化单元中。
17.一种存储器控制器,用于控制一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括多条字线、多条位线与多个存储单元,并且每一该些存储单元是位于该些字线的其中之一与该些位线的其中之一上,并且由该些存储单元组成多个实体抹除单元,该存储器控制器包括:
一主机接口,用以电性连接至一主机***;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块;以及
一错误检查与校正电路,用以利用该些存储单元中多个第一存储单元所储存的数据来产生一第一错误校正码,其中该些第一存储单元位于该些字线中的多条第一字线与该些位线中的多条第一位线上,
其中,在每一该些第一位线上的该些存储单元中,只有一个存储单元属于该些第一存储单元,且只以属于该些第一存储单元的该存储单元所储存的数据产生该第一错误校正码。
18.根据权利要求17所述的存储器控制器,其特征在于,该些第一字线彼此相隔至少一条字线。
19.根据权利要求17所述的存储器控制器,其特征在于,该些第一位线彼此相隔至少一条位线。
20.根据权利要求17所述的存储器控制器,其特征在于,该错误检查与校正电路还用以利用该些存储单元中多个第二存储单元所储存的数据来产生一第二错误校正码,其中该些第二存储单元位于该些字线中的多条第二字线与该些位线中的多条第二位线上,
其中,在每一该些第二位线上的该些存储单元中,只有一个存储单元属于该些第二存储单元,且只以属于该些第二存储单元的该存储单元所储存的数据产生该第二错误校正码,并且该第一错误校正码不同于该第二错误校正码。
21.根据权利要求20所述的存储器控制器,其特征在于,该些第二位线的其中之一相同于该些第一位线的其中之一。
22.根据权利要求21所述的存储器控制器,其特征在于,该些第二字线的其中之一相同于该些第一字线的其中之一。
23.根据权利要求17所述的存储器控制器,其特征在于,还包括:
一存储器管理电路,用以将该第一错误校正码储存在该些实体抹除单元的其中之一中。
24.根据权利要求17所述的存储器控制器,其特征在于,还包括:
一存储器管理电路,用以将该第一错误校正码分为多个部分,将该些部分的其中之一储存在该些第一字线的其中之一所对应的实体程序化单元中,并且将该些部分的其中之另一储存在该些第一字线的其中的另一所对应的实体程序化单元中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310300262.5A CN104298571B (zh) | 2013-07-17 | 2013-07-17 | 数据保护方法、存储器储存装置与存储器控制器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310300262.5A CN104298571B (zh) | 2013-07-17 | 2013-07-17 | 数据保护方法、存储器储存装置与存储器控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104298571A CN104298571A (zh) | 2015-01-21 |
CN104298571B true CN104298571B (zh) | 2017-10-03 |
Family
ID=52318307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310300262.5A Active CN104298571B (zh) | 2013-07-17 | 2013-07-17 | 数据保护方法、存储器储存装置与存储器控制器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104298571B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428464B (zh) * | 2017-02-13 | 2021-02-26 | 群联电子股份有限公司 | 解码方法、存储器储存装置及存储器控制电路单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1223444A (zh) * | 1997-11-14 | 1999-07-21 | 日本电气株式会社 | 具有错误校验和校正电路的半导体存储器件 |
CN1288236A (zh) * | 1999-09-14 | 2001-03-21 | 因芬尼昂技术股份公司 | 带有存储单元和基准单元的集成式存储器 |
CN101167140A (zh) * | 2005-03-24 | 2008-04-23 | 飞思卡尔半导体公司 | 具有可在用于数据和用于纠错码之间进行切换的区间的存储器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8499229B2 (en) * | 2007-11-21 | 2013-07-30 | Micro Technology, Inc. | Method and apparatus for reading data from flash memory |
KR101574208B1 (ko) * | 2009-03-31 | 2015-12-07 | 삼성전자주식회사 | 불휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 그리고 그것의 동작 방법 |
-
2013
- 2013-07-17 CN CN201310300262.5A patent/CN104298571B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1223444A (zh) * | 1997-11-14 | 1999-07-21 | 日本电气株式会社 | 具有错误校验和校正电路的半导体存储器件 |
CN1288236A (zh) * | 1999-09-14 | 2001-03-21 | 因芬尼昂技术股份公司 | 带有存储单元和基准单元的集成式存储器 |
CN101167140A (zh) * | 2005-03-24 | 2008-04-23 | 飞思卡尔半导体公司 | 具有可在用于数据和用于纠错码之间进行切换的区间的存储器 |
Also Published As
Publication number | Publication date |
---|---|
CN104298571A (zh) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10289487B2 (en) | Method for accessing flash memory module and associated flash memory controller and memory device | |
TWI498898B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US9323613B2 (en) | Parity scheme for a data storage device | |
CN102543196B (zh) | 数据读取方法、存储器储存装置及其控制器 | |
US10110255B2 (en) | Method for accessing flash memory module and associated flash memory controller and memory device | |
CN104733051B (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
CN102693758B (zh) | 数据读取方法、存储器储存装置及其存储器控制器 | |
CN105023613B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US11354231B2 (en) | Method for performing access management of memory device with aid of information arrangement, associated memory device and controller thereof, associated electronic device | |
CN105022674B (zh) | 解码方法、存储器存储装置、存储器控制电路单元 | |
CN103870399A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN106158040A (zh) | 读取电压准位估测方法、存储器存储装置及控制电路单元 | |
CN105468292A (zh) | 数据存取方法、存储器储存装置及存储器控制电路单元 | |
CN103631529A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN104103318B (zh) | 操作存储控制器的方法和包括存储控制器的数据存储设备 | |
CN103631670A (zh) | 存储器储存装置、存储器控制器与数据处理方法 | |
CN104182293B (zh) | 数据写入方法、存储器存储装置与存储器控制器 | |
CN105304142B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN104424045B (zh) | 解码方法、存储器储存装置与非易失性存储器模块 | |
CN104679441B (zh) | 时间估测方法、存储器存储装置、存储器控制电路单元 | |
CN104252317A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
US11650795B2 (en) | Raw read based physically unclonable function for flash memory | |
US11036579B2 (en) | Decoder for memory system and method thereof | |
CN103594116A (zh) | 数据读取方法、控制电路、存储器模块与存储器存储装置 | |
CN104298571B (zh) | 数据保护方法、存储器储存装置与存储器控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |