数据写入方法、存储器存储装置与存储器控制器的制造方法

文档序号:6503116阅读:133来源:国知局
数据写入方法、存储器存储装置与存储器控制器的制造方法
【专利摘要】本发明提供一种数据写入方法、存储器存储装置与存储器控制器,用于控制一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括至少一个存储器芯片,并且每一个存储器芯片包括多个实体抹除单元。此数据写入方法包括:将数据写入至至少一个第一实体抹除单元;根据此数据产生第一错误校验码与第二错误校验码,其中第二错误校验码能校验的比特数大于第一错误校验码能校验的比特数;以及将第二错误校验码写入至一个第二实体抹除单元,其中第一实体抹除单元与第二实体抹除单元属于相同的存储器芯片。由此,存储器空间的使用会更有效率。
【专利说明】数据写入方法、存储器存储装置与存储器控制器

【技术领域】
[0001]本发明是有关于一种数据写入方法,且特别是有关于一种用于可复写式非易失性存储器模块的数据写入方法、存储器存储装置与存储器控制器。

【背景技术】
[0002]数码相机、移动电话与MP3播放器在这几年来的发展十分迅速,使得消费者对存储介质的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内置于上述所举例的各种便携式多媒体装置中。
[0003]一般来说,为了确保数据的安全性,存储在可复写式非易失性存储器模块中的数据会被编码以产生一个错误校验码。若数据中发生错误,此错误校验码可以用来更改发生的错误。一种做法是,可复写式非易失性存储器模块中包括了多个存储器芯片,其中一个存储器芯片会被用来存储错误校验码,而其他的存储器芯片可用来存储数据。如此一来,当存储数据的一个存储器芯片损坏时,可以用其他的数据与错误校验码来恢复损坏的数据。然而,当可复写式非易失性存储器模块中只包括了少数几个存储器芯片(例如,2个)时,则有大比例的存储器空间会被用来存储错误校验码,造成存储器空间的使用没有效率。因此,如何增加存储器空间的使用效率并提升数据的安全性,为此领域技术人员所关心的问题。


【发明内容】

[0004]本发明提供一种数据写入方法、存储器存储装置与存储器控制器,可以提升存储器空间的使用效率并且增加数据的安全性。
[0005]本发明一范例实施例提出一种数据写入方法,用于控制一可复写式非易失性存储器模块。此可复写式非易失性存储器模块包括至少一个存储器芯片,每一个存储器芯片包括多个实体抹除单元。每一个实体抹除单元包括多个实体程序化单元,每一个实体抹除单元中的实体程序化单元包括多个快实体程序化单元以及多个慢实体程序化单元,其中快实体程序化单元的写入速度比慢实体程序化单元的写入速度快。此数据写入方法包括:将第一数据仅写入至至少一个快实体程序化单元;根据第一数据产生第一错误校验码,其是用以校验被写入至少部分第一数据的单个快实体程序化单元中的部分比特;根据第一数据产生第二错误校验码,其是用以校验被写入至少部分第一数据的快实体程序化单元,且第二错误校验码能校验的比特数大于第一错误校验码能校验的比特数;将第一错误校验码及第二错误校验码写入至至少一个实体抹除单元;将第二数据仅写入至至少一个慢实体程序化单元;根据第二数据产生第三错误校验码,其是用以校验被写入至少部分第二数据的单个慢实体程序化单元中的部分比特;根据第二数据产生第四错误校验码,其是用以校验被写入第二数据的慢实体程序化单元的至少其中之一,且第四错误校验码能校验的比特数大于第三错误校验码能校验的比特数;以及将第三错误校验码以及第四错误校验码写入至至少一个实体抹除单元。
[0006]在一范例实施例中,上述的每一个快实体程序化单元是与每一个慢实体程序化单元共用一字符线,且上述的实体抹除单元、快实体程序化单元及慢实体程序化单元是属于相同的存储器芯片。
[0007]在一范例实施例中,上述的第一错误校验码及第三错误校验码为错误检查及校验码。每一个上述的实体程序化单元包含一数据比特区以及一冗余比特区。第一数据及第二数据是写入数据比特区中,而每一个冗余比特区是写入第一错误校验码及第三错误校验码。第二错误校验码及第四错误校验码是为奇偶校验码。第二错误校验码是用以当存有第一数据的快实体程序化单元的至少其中之一产生错误时,根据一奇偶校验算法修正产生错误的快实体程序化单元。第四错误校验码是用以于存有第二数据的慢实体程序化单元的至少其中之一产生错误时,根据奇偶校验算法修正产生错误的慢实体程序化单元。
[0008]在一范例实施例中,上述的数据写入方法还包含下列步骤:将第二错误校验码写入至至少一个快实体程序化单元;以及将第四错误校验码写入至至少一个慢实体程序化单
J Li ο
[0009]在一范例实施例中,上述的第二错误校验码及第四错误校验码是分别与第一数据及第二数据写入至相异的实体抹除单元。
[0010]以另外一个角度来说,本发明一范例实施例提出一种数据写入方法,用于控制上述的可复写式非易失性存储器模块。此数据写入方法包括:将第一数据写入至至少一个第一实体抹除单元;根据第一数据产生第一错误校验码,其是用以校验被写入至少部分第一数据的单个实体程序化单元中的部分比特;根据第一数据产生第二错误校验码,其是用以校验被写入至少部分第一数据的实体程序化单元,且第二错误校验码能校验的比特数大于第一错误校验码能校验的比特数;以及将第二错误校验码写入至一个第二实体抹除单元,其中第一实体抹除单元与第二实体抹除单元属于相同的存储器芯片。
[0011]在另一范例实施例中,上述的第一错误校验码为错误检查及校验码。每一个实体程序化单元是包含一数据比特区以及一冗余比特区,第一数据是写入数据比特区中,而每一个冗余比特区是写入第一错误校验码。第二错误校验码是为奇偶校验码,其是用以于存有第一数据的实体程序化单元的至少其中之一产生错误时,根据奇偶校验算法修正产生错误的实体程序化单元。
[0012]在另一范例实施例中,上述的第二实体抹除单元不同于第一实体抹除单元。
[0013]在另一范例实施例中,上述的第一实体抹除单元的数量大于1,并且第二实体抹除单元为第一实体抹除单元的其中之一。
[0014]在另一范例实施例中,上述的每一个实体抹除单元中的实体程序化单元包括多个快实体程序化单元以及多个慢实体程序化单元。快实体程序化单元的写入速度比慢实体程序化单元的写入速度快,第一数据是仅被写入至至少一个快实体程序化单元。
[0015]在另一范例实施例中,上述的数据写入方法还包括:将第二数据仅写入至至少一个慢实体程序化单元,并且每一个快实体程序化单元是与每一个慢实体程序化单元共用一字符线;根据第二数据产生第三错误校验码,其是用以校验被写入至少部分第二数据的单个慢实体程序化单元中的部分比特;根据第二数据产生第四错误校验码,其是用以校验被写入第二数据的慢实体程序化单元的至少其中之一,且第四错误校验码能校验的比特数大于第三错误校验码能校验的比特数;以及将第三错误校验码及第四错误校验码写入至一个实体抹除单元。
[0016]以另外一个角度来说,本发明一范例实施例提出一种存储器存储装置,包括连接器、上述的可复写式非易失性存储器模块与存储器控制器。连接器是用以电性连接至主机系统。存储器控制器是电性连接至连接器与可复写式非易失性存储器模块,用以将第一数据写入至至少一个第一实体抹除单元,并且根据第一数据产生第一错误校验码。第一错误校验码是用以校验被写入至少部分第一数据的单个实体程序化单元中的部分比特。存储器控制器也用以根据第一数据产生第二错误校验码,其是用以校验被写入至少部分第一数据的实体程序化单元,且第二错误校验码能校验的比特数大于第一错误校验码能校验的比特数。存储器控制器还用以将第二错误校验码写入至一个第二实体抹除单元,其中第一实体抹除单元与第二实体抹除单元属于相同的存储器芯片。
[0017]在一范例实施例中,上述的存储器控制器还用以将第二数据仅写入至至少一个慢实体程序化单元,并且每一个快实体程序化单元是与每一个慢实体程序化单元共用一字符线。存储器控制器也用以根据第二数据产生第三错误校验码,其是用以校验被写入至少部分第二数据的单个慢实体程序化单元中的部分比特。存储器控制器还用以根据第二数据产生第四错误校验码,其是用以校验被写入第二数据的慢实体程序化单元的至少其中之一,且第四错误校验码能校验的比特数大于第三错误校验码能校验的比特数。存储器控制器还用以将第三错误校验码及第四错误校验码写入至一个实体抹除单元。
[0018]以另外一个角度来说,本发明一范例实施例提出一种存储器控制器,用于控制上述的可复写式非易失性存储器模块。存储器控制器包括主机接口界面、存储器接口界面与存储器管理电路。主机接口界面是用以电性连接至主机系统。存储器接口界面是用以电性连接至上述的可复写式非易失性存储器模块。存储器管理电路是电性连接至主机接口界面与存储器接口界面,用以将第一数据写入至至少一个第一实体抹除单元,并且根据第一数据产生第一错误校验码。第一错误校验码是用以校验被写入至少部分第一数据的单个实体程序化单元中的部分比特。存储器管理电路也用以根据第一数据产生第二错误校验码,其是用以校验被写入至少部分第一数据的实体程序化单元,且第二错误校验码能校验的比特数大于第一错误校验码能校验的比特数。存储器管理电路还用以将第二错误校验码写入至一个第二实体抹除单元,其中第一实体抹除单元与第二实体抹除单元属于相同的存储器芯片。
[0019]在一范例实施例中,上述的存储器管理电路还用以将第二数据仅写入至至少一个慢实体程序化单元,并且每一个快实体程序化单元是与每一个慢实体程序化单元共用一字符线。存储器管理电路也用以根据第二数据产生第三错误校验码,其是用以校验被写入至少部分第二数据的单个慢实体程序化单元中的部分比特。存储器管理电路还用以根据第二数据产生第四错误校验码,其是用以校验被写入第二数据的慢实体程序化单元的至少其中之一,且第四错误校验码能校验的比特数大于第三错误校验码能校验的比特数。存储器管理电路还用以将第三错误校验码及第四错误校验码写入至一个实体抹除单元。
[0020]基于上述,本发明范例实施例提出的数据写入方法、存储器存储装置与存储器控制器,可以将数据与相对应的错误校验码存储在同一个存储器芯片中,由此增加存储器空间的使用效率。另一方面,两份数据会分别被写入至快实体程序化单元与慢实体程序化单元,由此可以增加数据的安全性。
[0021]为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。

【专利附图】

【附图说明】
[0022]图1A是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
[0023]图1B是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
[0024]图1C是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
[0025]图2是图1A所示的存储器存储装置的概要方块图;
[0026]图3是根据一范例实施例所示出的存储器控制器的概要方块图;
[0027]图4A、图4B、图5与图6是根据一范例实施例示出写入错误校验码的示意图;
[0028]图7与图8是根据一范例实施例示出数据写入方法的流程图。
[0029]附图标记说明:
[0030]1000:主机系统;
[0031]1100:电脑;
[0032]1102:微处理器;
[0033]1104:随机存取存储器;
[0034]1106:输入/输出装置;
[0035]1108:系统总线;
[0036]1110:数据传输接口;
[0037]1202:鼠标;
[0038]1204:键盘;
[0039]1206:显示器;
[0040]1208:打印机;
[0041]1212:U 盘;
[0042]1214:存储卡;
[0043]1216:固态硬盘;
[0044]1310:数码相机(摄像机);
[0045]1312:SD 卡;
[0046]1314:MMC 卡;
[0047]1316:记忆棒;
[0048]1318:CF 卡;
[0049]1320:嵌入式存储装置;
[0050]100:存储器存储装置;
[0051]102:连接器;
[0052]104:存储器控制器;
[0053]106:可复写式非易失性存储器模块;
[0054]110、120:存储器芯片;
[0055]112(0)?112(A)、122 (O)?122(B):实体抹除单元;
[0056]202:存储器管理电路;
[0057]204:主机接口;
[0058]206:存储器接口;
[0059]252:缓冲存储器;
[0060]254:电源管理电路;
[0061]256:错误检查与校验电路;
[0062]411 (O)?411(C)、421(0)?421 (C)、431 (O)?431 (C)、451 (O)?451(C)、504(0)?504(0,506(0)?506 (C):实体程序化单元;
[0063]410,420,430:实体程序化单元组;
[0064]471 (O)?471 (14)、481 (O)?481 (14):数据;
[0065]472、482、494、495:错误校验码;
[0066]490、492:数据比特区;
[0067]491、493:冗余比特区;
[0068]S702、S704、S706、S708、S710、S712、S714、S716、S802、S804、S806、S808:步骤。

【具体实施方式】
[0069]一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
[0070]图1A是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。
[0071]请参照图1A,主机系统1000—般包括电脑1100与输入/输出(Input/Output,以下简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(Random AccessMemory,以下简称RAM) 1104、系统总线1108与数据传输接口 1110。图1B是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
[0072]在本发明实施例中,存储器存储装置100是通过数据传输接口 1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的操作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图1B所示的U盘1212、存储卡1214或固态硬盘(SolidState Drive,以下简称SSD) 1216等的可复写式非易失性存储器存储装置。
[0073]一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等系统。图1C是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。例如,在主机系统为数码相机(摄像机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick) 1316、CF卡1318或嵌入式存储装置1320(如图1C所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,以下简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
[0074]图2是图1A所示的存储器存储装置的概要方块图。
[0075]请参照图2,存储器存储装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模块106。
[0076]在本范例实施例中,连接器102是兼容于串行高级技术附件(Serial AdvancedTechnology Attachment,以下简称SATA)标准。然而,必须了解的是,本发明不限于此,连接器102也可以是符合并行高级技术附件(Parallel Advanced Technology Attachment,以下简称PATA)标准、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,以下简称 IEEE) 1394 标准、高速外设互联接口(Peripheral ComponentInterconnect Express,以下简称 PCIExpress)标准、通用串行总线(Universal SerialBus,以下简称USB)标准、安全数字(Secure Digital, SD)接口标准、超高速一代(UltraHigh Speed-Ι,以下简称UHS-1)接口标准、超高速二代(Ultra High Speed-1I,以下简称UHS-1I)接口标准、记忆棒(Memory Stick,以下简称MS)接口标准、多媒体存储卡(MultiMedia Card,以下简称MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,以下简称eMMC)接口标准、通用闪存(Universal Flash Storage,以下简称UFS)接口标准、小型闪存(Compact Flash,以下简称CF)接口标准、集成电路设备接口(IntegratedDevice Electronics,以下简称IDE)标准或其他适合的标准。
[0077]存储器控制器104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等操作。
[0078]可复写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106具有存储器芯片110与存储器芯片120。存储器芯片110包括实体抹除单元112(0)?112(A),而存储器芯片120包括实体抹除单元122(0)?122(B)。存储器芯片110与存储器芯片120可以独立地操作,即当存储器芯片110执行读取、写入或抹除的操作时,存储器芯片120也可以执行读取、写入或抹除的操作,并且存储器芯片110执行的操作可以不同于存储器芯片120执行的操作。实体抹除单元112(0)?112(A)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒,并且实体抹除单元122(0)?122(B)也可属于同一个存储器晶粒或者属于不同的存储器晶粒。在此范例实施例中,可复写式非易失性存储器模块106包括了两个存储器芯片,但本发明并不在此限。在其他范例实施例中,可复写式非易失性存储器模块106也可以包括数目更多或更少的存储器芯片。
[0079]每一个实体抹除单元具有复数个实体程序化单元组,并且每一个实体程序化单元组包括一或多个实体程序化单元。属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的记忆胞。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。
[0080]每一实体程序化单元通常包括数据比特区与冗余比特区。数据比特区包含多个实体存取地址用以写入使用者的数据,而冗余比特区用以写入所属实体程序化单元的错误检查及校验码〈ECC code〉。当一个实体程序化单元产生错误时(即,数据比特区的数据产生错误),其中冗余比特区的错误检查及校验码是用以修正此实体程序化单元。在本范例实施例中,每一个实体程序化单元的数据比特区中会包含4个实体存取地址,且一个实体存取地址的大小为512字节(byte, B)。然而,在其他范例实施例中,数据比特区中也可包含8个、16个或数目更多或更少的实体存取地址,本发明并不限制实体存取地址的大小以及个数。例如,实体抹除单元为实体区块,并且实体程序化单元为实体页面或实体扇。
[0081]在本范例实施例中,可复写式非易失性存储器模块106为多阶记忆胞(MultiLevel Cell,以下简称MLC)NAND型闪存存储器模块。也就是说,一个记忆胞中可存储至少2个比特,并且一个实体程序化单元组会包括两个实体程序化单元。更具体来说,同一个字符线(word line)上的多个记忆胞会组成一个实体程序化单元组,并且每一个记忆胞中的两个比特分别属于不同的实体程序化单元。在此架构下,一个实体程序化单元组中的两个实体程序化单元可被分类为快实体程序化单元与慢实体程序化单元。换句话说,一个实体抹除单元包括的多个实体程序化单元会包括多个快实体程序化单元与多个慢实体程序化单元。一般来说,快实体程序化单元的写入速度会大于慢实体程序化单元的写入速度,并且在同一个实体程序化单元组中,快实体程序化单元必须先被程序化以后慢实体程序化单元才能被程序化。然而,可复写式非易失性存储器模块106也可是单阶记忆胞(Single LevelCell,以下简称SL0NAND型闪存存储器模块、复数阶记忆胞(Trinary Level Cell,以下简称TLC) NAND型闪存存储器模块、其他闪存存储器模块或其他具有相同特性的存储器模块。当可复写式非易失性存储器模块106为复数阶记忆胞(Trinary Level Cell,以下简称TLC) NAND型闪存存储器模块时,一个实体程序化单元组会包括三个实体程序化单元,并且这三个实体程序化单元可被分类为一个快实体程序化单元与两个慢实体程序化单元。一般来说,快实体程序化单元必须先被程序化以后慢实体程序化单元才能被程序化。
[0082]图3是根据一范例实施例所示出的存储器控制器的概要方块图。
[0083]请参照图3,存储器控制器104包括存储器管理电路202、主机接口 204与存储器接口 206。
[0084]存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等操作。以下说明存储器管理电路202的操作时,等同于说明存储器控制器104的操作,以下并不再赘述。
[0085]在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等操作。
[0086]在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制器104被致能时,微处理器单元会先执行此开机码来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等操作。
[0087]此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元。存储器管理单元、存储器写入单元、存储器读取单元、存储器抹除单元与数据处理单元是电性连接至微控制器。其中,存储器管理单元用以管理可复写式非易失性存储器模块106的实体抹除单元;存储器写入单元用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取单元用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除单元用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理单元用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
[0088]主机接口 204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口 204是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口 204也可以是兼容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SD标准、UHS-1标准、UHS-1I标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
[0089]存储器接口 206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口 206转换为可复写式非易失性存储器模块106所能接受的格式。
[0090]在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254与错误检查与校验电路256。
[0091]缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
[0092]电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器存储装置100的电源。
[0093]错误检查与校验电路256是电性连接至存储器管理电路202并且用以执行错误检查与校验程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校验电路256会为对应此写入指令的数据产生对应的错误检查与校验码(Error Checking and Correcting Code, ECC Code)。存储器管理电路 202会将对应此写入指令的数据写入至一个实体程序化单元中的数据比特区,并且把对应的错误检查与校验码写入至同一个实体程序化单元中的冗余比特区。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校验码,并且错误检查与校验电路256会依据此错误检查与校验码对所读取的数据执行错误检查与校验程序。
[0094]在此范例实施例中,存储器管理电路202将一个第一数据写入至一或多个实体抹除单元以后,会根据该第一数据产生一个第一错误校验码。此第一错误校验码是用以校验被写入至少部分第一数据的单个实体程序化单元中的部分比特。此外,存储器管理电路202也会根据第一数据产生一个第二错误校验码,而此第二错误校验码是用以校验被写入至少部分第一数据的一或多个实体程序化单元。其中,第二错误校验码能校验的比特数会大于第一错误校验码能校验的比特数。举例来说,第一错误校验码是存储在冗余比特区中,只能校验单个实体程序化单元中数据比特区的数据的部分比特。而第二错误校验码可以校验两个实体程序化单元以上的数据,或是至少一个实体程序化单元里的所有比特。第二错误校验码也会被写入至一个实体抹除单元。特别的是,第二错误校验码与第一数据会被写入至同一个存储器芯片中。在此范例实施例中,第一或第二错误校验码是由存储器管理电路202所产生,然而,第一或第二错误校验码也可以由错误检查与校验电路256所产生,本发明并不在此限。
[0095]第一错误校验码与第二错误校验码的类型可以是奇偶校验码(parity checkingcode)、通道编码(channel coding)或是其他类型。例如,存储器管理电路202所产生的错误校验码可以是汉明码(hamming code)、低密度奇偶检查码(Low Density Parity CheckCode,以下简称LDPC code)、润旋码(turbo code)或里德-所罗门码(Reed-solomon Code,以下简称RS code),本发明并不在此限。若数据与错误校验码的长度比例为m:n,则表示m个存有数据的实体程序化单元会对应至η个存有错误校验码的实体程序化单元,其中m与η为正整数。一般来说,正整数m会大于正整数η,但本发明并不在此限。并且,本发明也不限制正整数m与正整数η的值。
[0096]图4Α、图4Β、图5与图6是根据一范例实施例示出写入错误校验码的示意图。
[0097]请参照图4Α,实体抹除单元112(0)包括实体程序化单元411 (0)?411 (C)。在此是将快实体程序化单元与慢实体程序化单元交错地示出,即实体程序化单元411(0)为快实体程序化单元,实体程序化单元411 (I)是慢实体程序化单元,并且实体程序化单元411(0)与411 (I)会组成实体程序化单元组410,以此类推。实体抹除单元112(1)包括实体程序化单元421(0)?421(C),其中实体程序化单元421(0)为快实体程序化单元,实体程序化单元421 (I)为慢实体程序化单元,并且实体程序化单元421(0)与421 (I)会组成实体程序化单元组420。实体抹除单元112(14)包括实体程序化单元431(0)?431 (C),其中实体程序化单元431(0)为快实体程序化单元,实体程序化单元431 (I)为慢实体程序化单元,并且实体程序化单元431(0)与431 (I)会组成实体程序化单元组430。实体抹除单元112(15)包括实体程序化单元451(0)?451 (C)。在图4Α的范例实施例中,数据与第二错误校验码的长度比例为15:1(8卩,正整数m为15,而正整数η为I)。在此假设存储器管理电路202要将第一数据写入至15个实体程序化单元,因此存储器管理电路202所产生的第二错误校验码会是一个实体程序化单元的大小。详细来说,存储器管理电路202会将第一数据471 (0)写入至实体程序化单元411(0),将第一数据471 (I)写入至实体程序化单元421(0)并且会将第一数据471 (14)写入至实体程序化单元431(0)。值得注意的是,为简化起见,在此并没有示出所有被写入的15个实体程序化单元,也没有所有的第一数据471 (0)?471 (14)。存储器管理电路202会根据数据471(0)?471 (14)产生错误校验码472 (也称第二错误校验码),并且将第二错误校验码472写入至实体程序化单元451(0)当中。在此范例实施例中,第二错误校验码472是奇偶校验码。当存储第一数据471(0)?471 (14)的快实体程序化单元的其中之一产生错误时,存储器管理电路202会根据一个奇偶校验算法来修正产生错误的快实体程序化单元。
[0098]在此,第一数据471 (O)?471 (14)可以是从主机系统1000所接收的数据,也可以是存储器管理电路202所产生的系统数据,或者是在其他操作中所产生的数据,本发明并不限制第一数据471 (O)?471 (14)的来源与内容。
[0099]请参照图4B,存储器管理电路202也会根据数据比特区中的数据来产生第一错误校验码。例如,实体程序化单元411 (O)包括了数据比特区490与冗余比特区491。存储器管理电路202会根据数据471 (O)来产生第一错误校验码495并且把第一错误校验码495写入至冗余比特区491。在此范例实施例中,第一错误校验码为错误检查及校验码(ErrorChecking and Correcting Code, ECC Code)。当数据471(0)发生错误时,存储器管理电路202会根据错误校验码495来校验数据471 (O)的部份比特。值得注意的是,在图4A中,实体程序化单元421(0)、431(0)都有一个冗余比特区,其中存储了对应的错误校验码。为简化起见,在此并未绘出每一个实体程序化单元中的冗余比特区。
[0100]请参照图4A,存储器管理电路202也会将第二数据481 (O)写入至实体程序化单元411(1),将第二数据481 (I)写入实体程序化单元421(1),并且将第二数据481(14)写入至实体程序化单元431 (I)。存储器管理电路202会根据第二数据481 (O)?481 (14)产生错误校验码482 (也称第四错误校验码),并且将第四错误校验码482写入至实体程序化单元451(1)。此外,存储器管理电路202也会分别根据数据481 (O)?481 (14)产生存储在冗余比特区的错误校验码(也称第三错误校验码)。如图4B所示,实体程序化单元411 (I)包括了数据比特区492与冗余比特区493。存储器管理电路202会根据第二数据481 (O)产生一个第三错误校验码494,并且把此第三错误校验码494写入冗余比特区493。第三错误校验码494是用以校验数据比特区492中的部份比特。请参照回图4A,第二数据481 (I)与第二数据481(14)也会分别对应至一份第三错误校验码。然而,为了简化起见,在此并未绘出实体程序化单元411(1)、421(1)、431(1)中的冗余比特区。在此范例实施例中,第四错误校验码482能校验的比特数会大于第三错误校验码能校验的比特数。举例来说,第三错误校验码是用来校验同一个实体程序化单元中数据比特区的数据,即第三错误校验码是错误检查及校验码(Error Checking and Correcting Code,以下简称ECC Code)。第四错误校验码482则是用来校验一或多个实体程序化单元中的第二数据481 (0)?481 (14),例如,第四错误校验码482为奇偶校验码。当存有第二数据481(0)?481 (14)的实体程序化单元的其中之一发生错误时,存储器管理电路202会根据一个奇偶校验算法修正产生错误的实体程序化单元。
[0101]值得注意的是,第一数据471(0)?471 (14)仅会被写入至快实体程序化单元,而第二数据481 (0)?481 (14)仅会被写入至慢实体程序化单元。由于一个实体程序化单元组中的两个实体程序化单元容易一起损坏,因此若将两份第一数据(或第二数据)写入至同一个实体程序化单元组中的两个实体程序化单元,则容易发生一次有两份数据发生错误的情形,导致错误校验码472 (或482)不能校验发生的错误。然而,在此范例实施例中,若实体程序化单元组410损坏,则错误校验码472与482则可分别用来校验实体程序化单元411(0)与411(1)中的错误。
[0102]在一范例实施例中,第一数据471(0)?471(14)在被写入至实体抹除单元112(0)?112(14)之前是被存储在存储器控制器104中的缓冲存储器252。当第一数据471(0)要被写入至实体抹除单元112(0)之前,存储器管理电路202便会根据第一数据471 (O)产生一个暂时的第二错误校验码。接下来,存储器管理电路202会把第一数据471 (O)写入至实体抹除单元112(0),并且根据此暂时的第二错误校验码与第一数据471(1)产生另一个暂时的第二错误校验码。相同地,在写入第一数据471(1)之后,此另一个暂时的第二错误校验码会与第一数据471 (2)产生更另一个暂时的第二错误校验码,以此类推。换句话说,存储器管理电路202是在每写入一份第一数据时便产生对应于此第一数据的第二暂时错误校验码,而在写入所有的第一数据471 (O)?471 (14)以后,此暂时的第二错误校验码便会成为错误校验码472。存储器管理电路202会将暂时的第二错误校验码存储在缓冲存储器252或者是任意一个实体抹除单元中。然而,在另一范例实施例中,存储器管理电路202也可以一次性地根据第一数据471(0)?471(14)产生错误校验码472 (例如,错误校验码472是在写入第一数据471 (O)?471(14)之后所产生),本发明并不在此限。
[0103]在一范例实施例中,第一数据471 (O)?471 (14)是从主机系统1000接收而来,然而,主机系统1000有可能会一次下达写入超过15个实体程序化单元或是少于15个实体程序化单元的数据。换句话说,第一数据471 (O)?471 (14)可能是对应至一或多个写入指令。举例来说,主机系统1000先下达了一个写入指令,其是要写入13个实体程序化单元的数据。在接收到这些数据以后,存储器管理电路202并不会马上产生错误校验码472。接下来,主机系统1000下达了另一个写入指令,其是要写入8个实体程序化单元的数据。存储器管理电路202会从这两个写入指令所对应的数据中取得第一数据471 (O)?471 (14)。例如,存储器管理电路202从第一个写入指令中取得第一数据471 (O)?471 (12),并且从第二个写入指令中取得第一数据471 (13)?471 (14)。而第二个写入指令中尚未被写入的数据会与另一个写入指令中的数据合并。如此一来,第一数据471 (O)?471 (14)便是对应至两个写入指令,但第一数据471 (O)?471 (14)也可以是对应至三个或更多个写入指令,本发明并不在此限。或者,第一个写入指令是要写入19个实体程序化单元的数据,存储器管理电路202会从这些数据中取得第一数据471 (O)?471 (14),而剩下4个实体程序化单元的数据则会与其他的数据(例如,下一个写入数据中11个实体程序化单元的数据)合并。即,第一数据471 (O)?471 (14)可以是对应至一个写入指令。相同地,第二数据481 (O)?481(14)也可能是对应至一或多个写入指令,本发明并不在此限。
[0104]在一范例实施例中,多个实体抹除单元可以被合并为一个超级实体单元,而存储器管理电路202会将此超级实体单元当作是一个实体抹除单元来操作。例如,当要抹除超级实体单元中的一个实体抹除单元时,此超级实体单元中所有的实体抹除单元会一起被抹除。在图4A中,实体抹除单元112(0)?112(15)便是属于同一个超级实体单元。但本发明并不在此限,在另一范例实施例中,存储器管理电路202也可以不设定超级实体单元,并且实体抹除单元112(0)?112(15)可以独立的被抹除。
[0105]请参照图5,在图5的范例实施例中,部份的数据471(0)?417 (14)与错误校验码472会被写入至同一个实体抹除单元当中。具体来说,数据471(0)、471(4)、471(8)与471(12)是分别被写入至实体程序化单元411 (O) -411(3);数据471 (I)、471 (5)、471 (9)与471(13)是分别被写入至实体程序化单元421(0)?421(3);数据471 (2)、471 (6)、471(10)与471(14)是分别被写入至实体程序化单元504(0)?504(3);数据471(3)、471 (7)与471 (11)是分别被写入至实体程序化单元506 (O)?506 (2)。错误校验码471则会被写入至实体程序化单元506(3)。其中,实体程序化单元506(0)?506(3)是属于同一个实体抹除单元112(3)。换言之,数据471 (O)?471 (14)是被写入至实体抹除单元112 (O)?112(3),而存储错误校验码472的实体抹除单元112(3)是实体抹除单元112(0)?112(3)的其中之一。在一范例实施例中,实体抹除单元112(0)?112(3)可以为同一个超级实体单元,但本发明并不在此限。
[0106]请参照图6,在一范例实施例中,数据471(0)?471(14)的其中之一与数据481(0)?481 (14)的其中之一会属于同一个实体程序化单元组。举例来说,数据471 (O)与数据481(0)会被写入至同一个实体程序化单元组410,数据471(1)与数据481(1)会被写入至同一个实体程序化单元组420,以此类推。在此范例实施例中,错误校验码472与数据471(3),471(7)是被写入至同一个实体抹除单元112 (3)。然而,在其他范例实施例中,错误校验码472也可以被写入至存储器芯片110中实体抹除单元112(0)?112(3)以外的另一个实体抹除单元。例如,存储器管理电路202会从存储器芯片110中提取一个实体抹除单元,而错误校验码472与482都会被写入至这个实体抹除单元中。或者,错误校验码472与482可以被写入至不同的实体抹除单元。本发明并不限制错误校验码472与数据471 (O)?471 (14)是否要被写入至相同的实体抹除单元,也不限制错误校验码472与482是否被写入至相同的实体抹除单元。
[0107]在此错误校验码472与错误校验码482是分别写入至共享字符线的快实体程序化单元506(6)与慢实体程序化单元506 (7)。然而,在其他范例实施例中,错误校验码472与错误校验码482也可以写入至不共享字符线的两个实体程序化单元,本发明并不在此限。
[0108]在此范例实施例中,数据471 (O)?471(14)与错误校验码472是被写入至同一个存储器芯片I1中。然而,在其他范例实施例中,第一数据471 (O)?471 (14)与错误校验码472也可以分别被写入至不同的存储器芯片中。例如,数据471 (O)?471 (14)可被写入至存储器芯片110,并且错误校验码472可被写入至存储器芯片120。或者,当可复写式非易失性存储器模块106包括多个存储器芯片时,数据471 (O)?471 (14)也可分散地被写入至不同的存储器芯片,本发明并不在此限。
[0109]图7与图8是根据一范例实施例示出数据写入方法的流程图。
[0110]请参照图7,在步骤S702中,将第一数据仅写入至至少一个快实体程序化单元。在步骤S704中,根据第一数据产生第一错误校验码,此第一错误校验码是用以校验被写入至少部分第一数据的单个快实体程序化单元中的部分比特。在步骤S706中,根据第一数据产生第二错误校验码,此第二错误校验码是用以校验被写入至少部分第一数据的一或多个快实体程序化单元中的部分比特,且第二错误校验码能校验的比特数大于第一错误校验码能校验的比特数。在步骤S708中,将第一错误校验码及第二错误校验码写入至至少一个实体抹除单元。在步骤S710中,将第二数据仅写入至至少一个慢实体程序化单元。在步骤S712中,根据第二数据产生第三错误校验码,此第三错误校验码是用以校验被写入至少部分第二数据的单个慢实体程序化单元中的部分比特。在步骤S714中,根据第二数据产生第四错误校验码,此第四错误校验码是用以校验被写入第二数据的一或多个慢实体程序化单元,且第四错误校验码能校验的比特数大于第三错误校验码能校验的比特数。在步骤S716中,将第三错误校验码以及第四错误校验码写入至至少一个实体抹除单元。值得注意的是,在图7所示的方法中,第一数据与第二错误校验码可以被写入至相同的存储器芯片或是不同的存储器芯片。相同地,第二数据与第四错误校验码可以被写入至相同的存储器芯片或是不同的存储器芯片,本发明并不在此限。
[0111]请参照图8,在步骤S802中,将第一数据写入至至少一个第一实体抹除单元。在步骤S804中,根据第一数据产生第一错误校验码,此第一错误校验码是用以校验被写入至少部分第一数据的单个实体程序化单元中的部分比特。在步骤S806中,根据第一数据产生第二错误校验码,第二错误校验码是用以校验被写入至少部分第一数据的一或多个实体程序化单元,且第二错误校验码能校验的比特数大于第一错误校验码能校验的比特数。在步骤S808中,将第二错误校验码写入至一个第二实体抹除单元,其中第一实体抹除单元与第二实体抹除单元属于相同的存储器芯片。值得注意的是,在图8所示的方法中,第一数据可被写入至快实体程序化单元、慢实体程序化单元、或两者皆有,本发明并不在此限。
[0112]图7与图8中各步骤已详细说明如上,在此便不再赘述。然而,图7与图8中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图7与图8的方法可以搭配以上范例实施例使用,也可以单独使用,本发明并不在此限。
[0113]综上所述,本发明范例实施例所提出的数据写入方法、存储器存储装置与存储器控制器,可以增加存储器空间的使用效率。另一方面,一个错误校验码所对应的多个数据不会被写入至相同的实体程序化单元组,由此可以增加数据的安全性。
[0114]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种数据写入方法,用于控制一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括至少一存储器芯片,每一该至少一存储器芯片包括多个实体抹除单元,每一该些实体抹除单元包括多个实体程序化单元,每一该些实体抹除单元的该些实体程序化单元包括多个快实体程序化单元以及多个慢实体程序化单元,其中该些快实体程序化单元的写入速度比该些慢实体程序化单元的写入速度快,该数据写入方法包括: 将一第一数据仅写入至该些快实体程序化单元中的至少其中之一; 根据该第一数据产生一第一错误校验码,该第一错误校验码是用以校验被写入至少部分该第一数据的单个该快实体程序化单元中的部分比特; 根据该第一数据产生一第二错误校验码,该第二错误校验码是用以校验被写入至少部分该第一数据的该快实体程序化单元,且该第二错误校验码能校验的比特数大于该第一错误校验码能校验的比特数; 将该第一错误校验码及第二错误校验码写入至该些实体抹除单元至少其中之一; 将一第二数据仅写入至该些慢实体程序化单元中的至少其中之一; 根据该第二数据产生一第三错误校验码,该第三错误校验码是用以校验被写入至少部分该第二数据的单个该慢实体程序化单元中的部分比特; 根据该第二数据产生一第四错误校验码,该第四错误校验码是用以校验被写入该第二数据的该些慢实体程序化单元的至少其中之一,且该第四错误校验码能校验的比特数大于该第三错误校验码能校验的比特数;以及 将该第三错误校验码以及该第四错误校验码写入至该些实体抹除单元至少其中之一。
2.根据权利要求1所述的数据写入方法,其特征在于,每一该些快实体程序化单元是与每一该些慢实体程序化单元共用一字符线,且该些实体抹除单元、该些快实体程序化单元及该些慢实体程序化单元属于相同的该存储器芯片。
3.根据权利要求1所述的数据写入方法,其特征在于,该第一错误校验码及该第三错误校验码为错误检查及校验码,且每一该些实体程序化单元是包含一数据比特区以及一冗余比特区,该第一数据及该第二数据是写入该些数据比特区中,而每一该些冗余比特区是写入该第一错误校验码及该第三错误校验码; 该第二错误校验码及该第四错误校验码是为奇偶校验码,该第二错误校验码是用以当存有该第一数据的该快实体程序化单元的至少其中之一产生错误时,根据一奇偶校验算法修正产生错误的该快实体程序化单元,该第四错误校验码是用以于存有该第二数据的该慢实体程序化单元的至少其中之一产生错误时,根据该奇偶校验算法修正产生错误的该慢实体程序化单元。
4.根据权利要求1所述的数据写入方法,其特征在于,还包含下列步骤: 将该第二错误校验码写入至该些快实体程序化单元的其中之一;以及 将该第四错误校验码写入至该些慢实体程序化单元的其中之一。
5.根据权利要求1所述的数据写入方法,其特征在于,该第二错误校验码及该第四错误校验码是分别与该第一数据及该第二数据写入至相异的该些实体抹除单元。
6.一种数据写入方法,用于控制一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包括至少一存储器芯片,每一该至少一存储器芯片包括多个实体抹除单元,并且每一该些实体抹除单元包括多个实体程序化单元,该数据写入方法包括: 将一第一数据写入至该些实体抹除单元中的至少一第一实体抹除单元; 根据该第一数据产生一第一错误校验码,该第一错误校验码是用以校验被写入至少部分该第一数据的单个该实体程序化单元中的部分比特; 根据该第一数据产生一第二错误校验码,该第二错误校验码是用以校验被写入至少部分该第一数据的该实体程序化单元,且该第二错误校验码能校验的比特数大于该第一错误校验码能校验的比特数;以及 将该第二错误校验码写入至该些实体抹除单元中的一第二实体抹除单元,其中该至少一第一实体抹除单兀与该第二实体抹除单兀属于相同的该至少一存储器芯片。
7.根据权利要求6所述的数据写入方法,其特征在于,该第一错误校验码为错误检查及校验码,每一该些实体程序化单元是包含一数据比特区以及一冗余比特区,该第一数据是写入该些数据比特区中,而每一该些冗余比特区是写入该第一错误校验码; 该第二错误校验码是为奇偶校验码,该第二错误校验码是用以于存有该第一数据的该些实体程序化单元的至少其中之一产生错误时,根据奇偶校验算法修正产生错误的该实体程序化单元。
8.根据权利要求6所述的数据写入方法,其特征在于,该第二实体抹除单元不同于该至少一第一实体抹除单元。
9.根据权利要求6所述的数据写入方法,其特征在于,该至少一第一实体抹除单元的数量大于1,并且该第二实体抹除单元为该些第一实体抹除单元的其中之一。
10.根据权利要求6所述的数据写入方法,其特征在于,每一该些实体抹除单元的该些实体程序化单元包括多个快实体程序化单元以及多个慢实体程序化单元,其中该些快实体程序化单元的写入速度比该些慢实体程序化单元的写入速度快,该第一数据是仅被写入至该些快实体程序化单元的至少其中之一。
11.根据权利要求10所述的数据写入方法,其特征在于,还包括: 将一第二数据仅写入至该些慢实体程序化单元中的至少其中之一,并且每一该些快实体程序化单元是与每一该些慢实体程序化单元共用一字符线; 根据该第二数据产生一第三错误校验码,该第三错误校验码是用以校验被写入至少部分该第二数据的单个该慢实体程序化单元中的部分比特; 根据该第二数据产生一第四错误校验码,该第四错误校验码是用以校验被写入该第二数据的该些慢实体程序化单元的至少其中之一,且该第四错误校验码能校验的比特数大于该第三错误校验码能校验的比特数;以及 将该第三错误校验码及该第四错误校验码写入至该些实体抹除单元的其中之一。
12.—种存储器存储装置,其特征在于,包括: 一连接器,用以电性连接至一主机系统; 一可复写式非易失性存储器模块,包括至少一存储器芯片,其中每一该至少一存储器芯片包括多个实体抹除单元,并且每一该些实体抹除单元包括多个实体程序化单元;以及一存储器控制器,电性连接至该连接器与该可复写式非易失性存储器模块,用以将一第一数据写入至该些实体抹除单元中的至少一第一实体抹除单元,并且根据该第一数据产生一第一错误校验码,其中该第一错误校验码是用以校验被写入至少部分该第一数据的单个该实体程序化单元中的部分比特, 该存储器控制器用以根据该第一数据产生一第二错误校验码,其中该第二错误校验码是用以校验被写入至少部分该第一数据的该实体程序化单元,且该第二错误校验码能校验的比特数大于该第一错误校验码能校验的比特数, 该存储器控制器用以将该第二错误校验码写入至该些实体抹除单元中的一第二实体抹除单元,其中该至少一第一实体抹除单元与该第二实体抹除单元属于相同的该至少一存储器芯片。
13.根据权利要求12所述的存储器存储装置,其特征在于,该第一错误校验码为错误检查及校验码,每一该些实体程序化单元是包含一数据比特区以及一冗余比特区,该第一数据是写入该些数据比特区中,而每一该些冗余比特区是写入该第一错误校验码, 其中该第二错误校验码是为奇偶校验码,该第二错误校验码是用以于存有该第一数据的该些实体程序化单元的至少其中之一产生错误时,根据奇偶校验算法修正产生错误的该实体程序化单元。
14.根据权利要求12所述的存储器存储装置,其特征在于,该第二实体抹除单元不同于该至少一第一实体抹除单兀。
15.根据权利要求12所述的存储器存储装置,其特征在于,该至少一第一实体抹除单元的数量大于1,并且该第二实体抹除单元为该些第一实体抹除单元的其中之一。
16.根据权利要求12所述的存储器存储装置,其特征在于,每一该些实体抹除单元的该些实体程序化单元包括多个快实体程序化单元以及多个慢实体程序化单元,其中该些快实体程序化单元的写入速度比该些慢实体程序化单元的写入速度快,该第一数据是仅被写入至该些快实体程序化单元的至少其中之一。
17.根据权利要求16所述的存储器存储装置,其特征在于,该存储器控制器还用以将一第二数据仅写入至该些慢实体程序化单元中的至少其中之一,并且每一该些快实体程序化单元系与每一该些慢实体程序化单元共用一字符线, 存储器控制器还用以根据该第二数据产生一第三错误校验码,其中该第三错误校验码是用以校验被写入至少部分该第二数据的单个该慢实体程序化单元中的部分比特, 存储器控制器还用以根据该第二数据产生一第四错误校验码,该第四错误校验码是用以校验被写入该第二数据的该些慢实体程序化单元的至少其中之一,且该第四错误校验码能校验的比特数大于该第三错误校验码能校验的比特数, 存储器控制器还用以将该第三错误校验码及该第四错误校验码写入至该些实体抹除单元的其中之一。
18.一种存储器控制器,用于控制一可复写式非易失性存储器模块,其特征在于,该存储器控制器包括: 一主机接口,用以电性连接至一主机系统; 一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块包括至少一存储器芯片,并且每一该至少一存储器芯片包括多个实体抹除单元;以及 一存储器管理电路,电性连接至该主机接口与该存储器接口,用以将一第一数据写入至该些实体抹除单元中的至少一第一实体抹除单元,并且根据该第一数据产生一第一错误校验码,其中该第一错误校验码是用以校验被写入至少部分该第一数据的单个该实体程序化单元中的部分比特, 该存储器控制器用以根据该第一数据产生一第二错误校验码,其中该第二错误校验码是用以校验被写入至少部分该第一数据的该实体程序化单元,且该第二错误校验码能校验的比特数大于该第一错误校验码能校验的比特数, 该存储器控制器用以将该第二错误校验码写入至该些实体抹除单元中的一第二实体抹除单元,其中该至少一第一实体抹除单元与该第二实体抹除单元属于相同的该至少一存储器芯片。
19.根据权利要求18所述的存储器控制器,其特征在于,该第一错误校验码为错误检查及校验码,每一该些实体程序化单元是包含一数据比特区以及一冗余比特区,该第一数据是写入该些数据比特区中,而每一该些冗余比特区是写入该第一错误校验码, 其中该第二错误校验码是为奇偶校验码,该第二错误校验码是用以于存有该第一数据的该些实体程序化单元的至少其中之一产生错误时,根据奇偶校验算法修正产生错误的该实体程序化单元。
20.根据权利要求18所述的存储器控制器,其特征在于,该第二实体抹除单元不同于该至少一第一实体抹除单元。
21.根据权利要求18所述的存储器控制器,其特征在于,该至少一第一实体抹除单元的数量大于1,并且该第二实体抹除单元为该些第一实体抹除单元的其中之一。
22.根据权利要求18所述的存储器控制器,其特征在于,每一该些实体抹除单元的该些实体程序化单元包括多个快实体程序化单元以及多个慢实体程序化单元,其中该些快实体程序化单元的写入速度比该些慢实体程序化单元的写入速度快,该第一数据是仅被写入至该些快实体程序化单元的至少其中之一。
23.根据权利要求22所述的存储器控制器,其特征在于,该存储器管理电路还用以将一第二数据仅写入至该些慢实体程序化单元中的至少其中之一,并且每一该些快实体程序化单元是与每一该些慢实体程序化单元共用一字符线, 该存储器管理电路还用以根据该第二数据产生一第三错误校验码,其中该第三错误校验码是用以校验被写入至少部分该第二数据的单个该慢实体程序化单元中的部分比特, 该存储器管理电路还用以根据该第二数据产生一第四错误校验码,该第四错误校验码是用以校验被写入该第二数据的该些慢实体程序化单元的至少其中之一,且该第四错误校验码能校验的比特数大于该第三错误校验码能校验的比特数, 该存储器管理电路还用以将该第三错误校验码及该第四错误校验码写入至该些实体抹除单元的其中之一。
【文档编号】G06F11/10GK104182293SQ201310191415
【公开日】2014年12月3日 申请日期:2013年5月22日 优先权日:2013年5月22日
【发明者】梁鸣仁 申请人:群联电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1