数据存储方法、存储器控制电路单元及存储器存储装置的制造方法【
技术领域:
】[0001]本发明是有关于一种数据存储方法,且特别是有关于一种用于可复写式非易失性存储器的数据存储方法、存储器控制电路单元及存储器存储装置。【
背景技术:
】[0002]数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器(rewritablenon-volatilememory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,因此,近年可复写式非易失性存储器产业成为电子产业中相当热门的一环。例如,以快闪存储器作为存储媒体的固态硬盘(Solid-statedrive)已广泛应用作为电脑主机的硬盘,以提升电脑的存取效能。[0003]由于存储在可复写式非易失性存储器的数据可能会因各种因素(例如,存储器单元的漏电、程序化失败、损毁等)而产生错误比特,因此,在存储器存储系统中一般会配置错误检查与校正电路并为所存储的数据产生错误检查与校正码以确保数据的正确性。然而,当数据中的错误比特数目超过错误检查与校正电路所能检测与校正的错误比特数时,含有错误比特的数据就无法被校正,而造成数据遗失。一般来说,当此情况发生时,可根据存储在可复写式非易失性存储器中对应于所欲校正的数据的奇偶性(Parity)来校正此数据。传统上,由于此些奇偶信息所在的实体程序化单元的数据比特区与冗余比特区中的数据也是通过其他受保护的数据所计算出来的,即,无法通过冗余比特区中的信息得知此些实体程序化单元即是奇偶信息所在的实体程序化单元。因此,传统的方法会将奇偶信息放置在固定的位置上。[0004]例如,假设存储器存储系统具有八个存储器晶粒,则使用其中最后一个存储器晶粒来存储奇偶信息。倘若来自主机系统的数据仅需写入一个实体程序化单元时,则必须要将其中间的六个存储器晶粒中相对应的实体程序化单元填上虚构数据(dummydata),以产生欲存放在第八个存储器晶粒中相对应的实体程序化单元中的奇偶信息。也就是说,此种作法将造成存储器存储装置中存储空间的浪费。基此,如何在避免存储器存储装置中存储空间的浪费下增加并提升错误校正的更正能力与效率是此领域技术人员所致力的目标。【
发明内容】[0005]本发明提供一种数据存储方法、存储器控制电路单元及存储器存储装置,其可以有效地避免存储器存储装置中存储空间的浪费并且当无法由错误检查与校正码校正数据的错误比特时,可通过所存储的奇偶信息来更正此数据的错误比特,由此提升错误校正的能力。[0006]本发明的一范例实施例提供一种用于可复写式非易失性存储器模块的数据存储方法,所述可复写式非易失性存储器模块包括多个实体抹除单元,且每一实体抹除单元包括多个实体程序化单元,以及其中每一实体程序化单元包括数据比特区与冗余比特区,本数据存储方法包括:依据第一数据产生一奇偶信息;将所述数据程序化至所述实体程序化单元之中的第一实体程序化单元中;以及将所述奇偶信息程序化至所述实体程序化单元之中的至少一第二实体程序化单元中,其中所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之后。在上述将所述数据程序化至所述实体程序化单元之中的所述第一实体程序化单元的步骤包括:将至少一标记程序化至所述第一实体程序化单元之中的冗余比特区,其中所述至少一标记指示所述奇偶信息被程序化至所述至少一第二实体程序化单元中。[0007]在本发明的一实施例中,上述第一数据包括一使用者数据与对应所述使用者数据的一管理信息,其中所述使用者数据被程序化至所述第一实体程序化单元之中的数据比特区,其中对应所述使用者数据的所述管理信息被程序化至所述第一实体程序化单元之中的冗余比特区。[0008]在本发明的一实施例中,上述第一数据包括一使用者数据、对应所述使用者数据的一管理信息以及对应所述使用者数据的一错误检查与校正码。其中所述错误检查与校正码是根据所述使用者数据所产生的。其中所述使用者数据被程序化至所述第一实体程序化单元之中的数据比特区,其中对应所述使用者数据的所述管理信息被程序化至所述第一实体程序化单元之中的冗余比特区,其中对应所述使用者数据的所述错误检查与校正码被程序化至所述第一实体程序化单元之中的冗余比特区。[0009]在本发明的一实施例中,上述将所述至少一标记程序化至所述第一实体程序化单元之中的冗余比特区的步骤包括:将第一标记程序化至所述第一实体程序化单元之中的最后一个实体程序化单元的冗余比特区,其中所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之中的所述最后一个实体程序化单元之后,其中所述第一标记指示所述至少一第二实体程序化单元存储所述奇偶信息;以及将第二标记程序化至所述实体程序化单元之中的至少一第三实体程序化单元的冗余比特区,其中所述至少一第三实体程序化单元是排列在所述至少一第二实体程序化单元之后,其中所述第二标记指示所述至少一第二实体程序化单元存储所述奇偶信息。[0010]在本发明的一实施例中,上述将所述至少一标记程序化至所述第一实体程序化单元之中的冗余比特区的步骤还包括:建立一奇偶信息地址对应表;以及将一第三标记记录在所述奇偶信息地址对应表,其中所述第三标记指示所述至少一第二实体程序化单元存储所述奇偶信息。[0011]在本发明的一实施例中,上述将所述至少一标记程序化至所述第一实体程序化单元之中的冗余比特区的步骤包括:计数所述第一实体程序化单元的个数;以及根据所述第一实体程序化单元的个数,在每一所述第一实体程序化单元的冗余比特区中记录一标记值,其中记录在所述第一实体程序化单元中的所述标记值依据所述第一实体程序化单元的排列依序地递减。[0012]在本发明的一实施例中,上述标记值之中的第一标记值为1,且所述第一标记值被记录在所述第一实体程序化单元之中的最后一个实体程序化单元的冗余比特区中,且所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之中的所述最后一个实体程序化单元之后,其中所述标记值之中的第二标记值为2,且所述第二标记值被记录在所述第一实体程序化单元之中相邻且排列在所述最后一个实体程序化单元之前的实体程序化单元的冗余比特区中,其中所述标记值之中的第三标记值为3,且所述第三标记值被记录在所述第一实体程序化单元之中相邻且排列在记录所述第二标记值的实体程序化单元之前的实体程序化单元的冗余比特区中。[0013]在本发明的一实施例中,上述第一数据包括一第二数据以及一错误检查与校正码,并且上述数据存储方法,还包括:当无法通过使用所述错误检查与校正码来校正所述第二数据时,根据所述至少一标记获得记录所述奇偶信息的所述至少一第二实体程序化单元的地址,从所述至少一第二实体程序化单元中读取所述奇偶信息以及依据所读取的所述奇偶信息来校正所述第二数据。[0014]本发明的一范例实施例提供一种用于可复写式非易失性存储器模块的数据存储方法,所述可复写式非易失性存储器模块包括多个实体抹除单元,且每一实体抹除单元包括多个实体程序化单元,以及其中每一实体程序化单元包括数据比特区与冗余比特区,本数据存储方法包括:建立一奇偶信息地址对应表;依据第一数据产生一奇偶信息;将所述数据程序化至所述实体程序化单元之中的第一实体程序化单元中;将所述奇偶信息程序化至所述实体程序化单元之中的至少一第二实体程序化单元中,以及将至少一标记记录在所述奇偶信息地址对应表,其中所述标记指示所述奇偶信息被程序化至所述至少一第二实体程序化单元中。[0015]本发明的一范例实施例提出一种用于控制可复写式非易失性存储器模块的存储器控制电路单元,其中所述可复写式非易失性存储器模块包括多个实体抹除单元,且每一实体抹除单元包括多个实体程序化单元,以及其中每一实体程序化单元包括数据比特区与冗余比特区。此存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以耦接至主机系统,存储器接口用以耦接至可复写式非易失性存储器模块,以及存储器管理电路耦接至主机接口与存储器接口。存储器管理电路用以依据第一数据产生一奇偶信息并且将所述第一数据程序化至所述实体程序化单元之中的第一实体程序化单元中,其中所述存储器管理电路还用以将所述奇偶信息程序化至所述实体程序化单元之中的至少一第二实体程序化单元中,其中所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之后。在上述将所述数据程序化至所述实体程序化单元之中的所述第一实体程序化单元的操作中,存储器管理电路将至少一标记程序化至所述第一实体程序化单元之中的冗余比特区,其中所述至少一标记指示所述奇偶信息被程序化至所述至少一第二实体程序化单元中。[0016]在本发明的一实施例中,上述第一数据包括一使用者数据与对应所述使用者数据的一管理信息,其中所述使用者数据被程序化至所述第一实体程序化单元之中的数据比特区,其中对应所述使用者数据的所述管理信息被程序化至所述第一实体程序化单元之中的冗余比特区。[0017]在本发明的一实施例中,上述第一数据包括一使用者数据、对应所述使用者数据的一管理信息以及对应所述使用者数据的一错误检查与校正码。其中所述错误检查与校正码是根据所述使用者数据所产生的。其中所述使用者数据被程序化至所述第一实体程序化单元之中的数据比特区,其中对应所述使用者数据的所述管理信息被程序化至所述第一实体程序化单元之中的冗余比特区,其中对应所述使用者数据的所述错误检查与校正码被程序化至所述第一实体程序化单元之中的冗余比特区。[0018]在本发明的一实施例中,上述将所述至少一标记程序化至所述第一实体程序化单元之中的冗余比特区的操作中,存储器管理电路将第一标记程序化至所述第一实体程序化单元之中的最后一个实体程序化单元的冗余比特区,其中所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之中的所述最后一个实体程序化单元之后,其中所述第一标记指示所述至少一第二实体程序化单元存储所述奇偶信息,其中存储器管理电路还用以将第二标记程序化至所述实体程序化单元之中的至少一第三实体程序化单元的冗余比特区,其中所述第三实体程序化单元是排列在所述至少一第二实体程序化单元之后,并且所述第二标记指示所述至少一第二实体程序化单元存储所述奇偶信息。[0019]本发明的一范例实施例提出一种存储器存储装置,其包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元用以耦接至主机系统。可复写式非易失性存储器模块包括多个实体抹除单元,且每一实体抹除单元包括多个实体程序化单元,其中每一实体程序化单元包括数据比特区与冗余比特区。存储器控制电路单元耦接至连接接口单元与可复写式非易失性存储器模块,并且用以依据第一数据产生一奇偶信息,并且将所述第一数据程序化至所述实体程序化单元之中的一第一实体程序化单元中。此外,存储器控制电路单元还用以将所述奇偶信息程序化至所述实体程序化单元之中的至少一第二实体程序化单元中,其中所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之后。在上述将所述第一数据程序化至所述实体程序化单元之中的所述第一实体程序化单元的操作中,存储器控制电路单元将至少一标记程序化至所述第一实体程序化单元之中的冗余比特区,其中所述至少一标记指示所述奇偶信息被程序化至所述至少一第二实体程序化单元中。[0020]在本发明的一实施例中,上述第一数据包括一使用者数据与对应所述使用者数据的一管理信息,其中所述使用者数据被程序化至所述第一实体程序化单元之中的数据比特区,其中对应所述使用者数据的所述管理信息被程序化至所述第一实体程序化单元之中的冗余比特区。[0021]在本发明的一实施例中,上述第一数据包括一使用者数据、对应所述使用者数据的一管理信息以及对应所述使用者数据的一错误检查与校正码。其中所述错误检查与校正码是根据所述使用者数据所产生的。其中所述使用者数据被程序化至所述第一实体程序化单元之中的数据比特区,其中对应所述使用者数据的所述管理信息被程序化至所述第一实体程序化单元之中的冗余比特区,其中对应所述使用者数据的所述错误检查与校正码被程序化至所述第一实体程序化单元之中的冗余比特区。[0022]在本发明的一实施例中,上述将所述至少一标记程序化至所述第一实体程序化单元之中的冗余比特区的操作中,存储器控制电路单元将一第一标记程序化至所述第一实体程序化单元之中的最后一个实体程序化单元的冗余比特区,其中所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之中的所述最后一个实体程序化单元之后,其中所述第一标记指示所述至少一第二实体程序化单元存储所述奇偶信息,其中存储器控制电路单元还用以将第二标记程序化至所述实体程序化单元之中的至少一第三实体程序化单元的冗余比特区,其中所述至少一第三实体程序化单元是排列在所述至少一第二实体程序化单元之后,并且所述第二标记指示所述至少一第二实体程序化单元存储所述奇偶信息。[0023]在本发明的一实施例中,上述将所述至少一标记程序化至所述第一实体程序化单元之中的冗余比特区的操作中,存储器控制电路单元建立一奇偶信息地址对应表并且将第三标记记录在所述奇偶信息地址对应表,其中所述第三标记指示所述至少一第二实体程序化单元存储所述奇偶信息。[0024]在本发明的一实施例中,上述将所述至少一标记程序化至所述第一实体程序化单元之中的冗余比特区的操作中,存储器控制电路单元计数所述第一实体程序化单元的个数,并且根据所述第一实体程序化单元的个数,在每一第一实体程序化单元的冗余比特区中记录一标记值,其中记录在所述第一实体程序化单元中的所述标记值依据所述第一实体程序化单元的排列依序地递减。[0025]在本发明的一实施例中,上述标记值之中的第一标记值为1,且所述第一标记值被记录在所述第一实体程序化单元之中的最后一个实体程序化单元的冗余比特区中,且所述至少一第二实体程序化单元是排列在所述第一实体程序化单元之中的所述最后一个实体程序化单元之后。其中标记值之中的第二标记值为2,且所述第二标记值被记录在所述第一实体程序化单元之中相邻且排列在所述最后一个实体程序化单元之前的实体程序化单元的冗余比特区中。其中所述标记值之中的第三标记值为3,且所述第三标记值被记录在所述第一实体程序化单元之中相邻且排列当前第1页1 2 3 4 5 6