CN110008146A - 数据写入方法、有效数据识别方法及存储器存储装置 - Google Patents

数据写入方法、有效数据识别方法及存储器存储装置 Download PDF

Info

Publication number
CN110008146A
CN110008146A CN201810011432.0A CN201810011432A CN110008146A CN 110008146 A CN110008146 A CN 110008146A CN 201810011432 A CN201810011432 A CN 201810011432A CN 110008146 A CN110008146 A CN 110008146A
Authority
CN
China
Prior art keywords
data
subdata
memory
data number
submodule
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.)
Granted
Application number
CN201810011432.0A
Other languages
English (en)
Other versions
CN110008146B (zh
Inventor
林松尧
郭岳甫
萧宇民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Phison Electronics Corp
Original Assignee
Phison Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Phison Electronics Corp filed Critical Phison Electronics Corp
Priority to CN201810011432.0A priority Critical patent/CN110008146B/zh
Publication of CN110008146A publication Critical patent/CN110008146A/zh
Application granted granted Critical
Publication of CN110008146B publication Critical patent/CN110008146B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller

Abstract

本发明提供一种数据写入方法、有效数据识别方法及存储器存储装置。本方法包括:接收第一数据;使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,第一子数据中的每一个第一子数据的大小相同于预设大小;以及使用第二程序化模式将第一数据中的剩余子数据写入至多个存储器子模块中的第二存储器子模块的第二实体程序化单元,剩余子数据的大小小于预设大小,第二存储器子模块不同于第一存储器子模块中最后一个用以写入第一子数据的第三存储器子模块。

Description

数据写入方法、有效数据识别方法及存储器存储装置
技术领域
本发明涉及一种数据写入方法、有效数据识别方法及存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
依据每个存储单元可存储的比特数,NAND型快闪存储器模块可分为单阶存储单元(single level cell,SLC)NAND型快闪存储器模块、多阶存储单元(muiti level cell,MLC)NAND型快闪存储器模块以及复数阶存储单元(trinary level cell,TLC)NAND型快闪存储器模块,其中SLC NAND型快闪存储器模块的每个存储单元可存储1个比特的数据(即,“1”与“0”),MLC NAND型快闪存储器模块的每个存储单元可存储2个比特的数据,TLC NAND型快闪存储器模块的每个存储单元可存储3个比特的数据。此外,MLC NAND型快闪存储器模块与TLC NAND型快闪存储器模块的存储单元也可以用来模拟SLC NAND型快闪存储器模块,且MLC NAND型快闪存储器模块与TLC NAND型快闪存储器模块中用来模拟SLC NAND型快闪存储器模块的存储单元仅存储1个比特的数据。
一般来说,若一个存储单元可以存储多个比特(例如,MLC或TLC NAND快闪存储器模块),则属于同一条字符线的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。例如,在MLC NAND快闪存储器模块中,一存储单元的最低有效比特(LeastSignificant Bit,LSB)是属于下实体程序化单元,并且此存储单元的最高有效比特(MostSignificant Bit,MSB)是属于上实体程序化单元。在一范例实施例中,下实体程序化单元也称为快页(fast page),而上实体程序化单元也称为慢页(slow page)。特别是,在MLCNAND快闪存储器模块中,一个下实体程序化单元与该下实体程序化单元所对应的一上实体程序化单元可以合称为“实体程序化单元组”。此外,在TLC NAND快闪存储器模块中,一存储单元的最低有效比特(Least Significant Bit,LSB)是属于下实体程序化单元,此存储单元的中间有效比特(Center Significant Bit,CSB)是属于中实体程序化单元,并且此存储单元的最高有效比特(Most Significant Bit,MSB)是属于上实体程序化单元。特别是,在TLC NAND快闪存储器模块中,一个下实体程序化单元与该下实体程序化单元所对应的中实体程序化单元与上实体程序化单元可以合称为“实体程序化单元组”。
一般来说,可复写式非易失性存储器可以包括多个存储器子模块,而每一个存储器子模块可以是分别地通过独立的数据总线(或同一数据总线)电性连接至存储器控制器。基此,存储器管理电路502可以平行(parallel)或交错(interleave)的方式将数据通过数据总线写入至各个存储器子模块。
特别是,每一个存储器子模块可以包括一第一区域以及一第二区域。其中,第一区域的实体程序化单元是使用一第一程序化模式(也称为,多页程序化模式)进行写入,且该第一程序化模式是以一个“实体程序化单元组”为单位进行写入。换句话说,构成所述第一区域的实体程序化单元的多个存储单元之中的每一个存储单元可以存储多个比特数据。假设一可复写式非易失性存储器模块为MLC NAND型快闪存储器模块,则在第一区域中的每个存储单元可存储2个比特的数据。此外,在对第一区域进行写入时,必须一次将一笔数据写入至一个实体程序化单元组中。若一笔数据不符合实体程序化单元组的大小,基于可复写式非易失性存储器模块的存储稳定性的问题,该笔数据会被写入第二区域而不会被写入至第一区域中。
此外,第二区域的实体程序化单元是使用一第二程序化模式(也称为,单页程序化模式)进行写入,且该第二程序化模式是以一个“实体程序化单元”为单位进行写入。换句话说,构成所述第二区域的实体程序化单元的多个存储单元之中的每一个存储单元可以存储仅1个比特数据。例如,第二区域中构成实体程序化单元的多个存储单元中仅使用最低有效比特(Least Significant Bit,LSB)来存储数据。也就是说,若是以MLC NAND型快闪存储器模块(或TLC NAND型快闪存储器模块)来模拟SLC NAND型快闪存储器模块时,MLC NAND型快闪存储器模块(或TLC NAND型快闪存储器模块)只有“下实体程序化单元”能够用以写入(或存储)数据。
在将一笔数据写入至可复写式非易失性存储器时,存储器控制器会先将该笔数据依照“实体程序化单元组”的大小分为多个子数据,并依序地将此些符合“实体程序化单元组”的大小的子数据写入至存储器子模块中的第一区域。举例来说,假设可复写式非易失性存储器具有四个存储器子模块且该笔数据可以被分为五个符合“实体程序化单元组”的大小的子数据以及一个仅符合一“实体程序化单元”的大小的剩余子数据。此时,存储器控制器会将前述五个符合“实体程序化单元组”的大小的子数据交错地写入至所述四个存储器子模块的第一区域中。例如,第一个符合“实体程序化单元组”的大小的子数据会被写入至第一个存储器子模块的第一区域,第二个符合“实体程序化单元组”的大小的子数据会被写入至第二个存储器子模块的第一区域,以此类推。此外,在依序将前四个符合“实体程序化单元组”的大小的子数据写入至所述四个存储器子模块的第一区域之后,存储器控制器会将第五个符合“实体程序化单元组”的大小的子数据写入至第一个存储器子模块中的第一区域。
须注意的是,基于可复写式非易失性存储器模块的存储稳定性的问题,上述仅符合一“实体程序化单元”的大小的剩余子数据并无法被写入上述多个存储器子模块的第一区域中。因此,此剩余子数据会被以“第二程序化模式”写入至某一个存储器子模块的第二区域中。
一般来说,第一区域与第二区域两者在操作上是彼此独立且彼此之间没有顺序的关系。举例来说,在对第一区域进行写入时,存储器控制器会依序地对第一个存储器子模块的第一区域进行写入、对第二个存储器子模块的第一区域进行写入,以此类推。类似地,在对第二区域进行写入时,存储器控制器会依序地对第一个存储器子模块的第二区域进行写入、对第二个存储器子模块的第二区域进行写入,以此类推。然而,以前述范例为例,当最后一笔符合“实体程序化单元组”的大小的子数据写入第一个存储器子模块后,假设用于写入符合“实体程序化单元”的大小的剩余子数据的存储器子模块刚好也是第一个存储器子模块时,则存储器控制器需须等待将符合“实体程序化单元组”的大小的子数据写入完成后,才可以执行剩余子数据的写入。也就是说,当对同一个存储器子模块的第一区域以及第二区域进行写入时,存储器控制器需等待可复写式非易失性存储器模块将数据写入第一区域后才能再发送指令序列以对第二区域进行写入,而此方式并无法达成第一区域以及第二区域的同时或平行地写入,进而造成写入效率的降低。
发明内容
本发明提供一种数据写入方法、有效数据识别方法及存储器存储装置,其能够减少数据的写入(或程序化)的时间,且能够提升数据的写入效率。此外,本发明的有效数据识别方法可以在存储器存储装置重新上电后有效地识别可复写式非易失性存储器模块中所存储的有效数据。
本发明的一种数据写入方法,用于可复写式非易失性存储器模块。可复写式非易失性存储器模块包括电性连接至存储器控制电路单元的多个存储器子模块,存储器子模块分别包括多个实体程序化单元。此数据写入方法包括:接收第一数据;使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,其中第一子数据中的每一个第一子数据的大小相同于预设大小;以及使用第二程序化模式将第一数据中第一子数据以外的剩余子数据写入至多个存储器子模块中的第二存储器子模块的第二实体程序化单元,其中剩余子数据的大小小于预设大小,其中以第一程序化模式所程序化的实体程序化单元的存储比特数大于以第二程序化模式所程序化的实体程序化单元的存储的比特数且第二存储器子模块不同于第一存储器子模块中最后一个用以写入第一子数据的第三存储器子模块。
在本发明的一实施例中,其中多个存储器子模块的写入顺序依照一顺序排列,且在所述顺序中第二存储器子模块是位在第三存储器子模块的下一个存储器子模块。
在本发明的一实施例中,其中使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的第一存储器子模块的第一实体程序化单元的步骤包括:分别将第一子数据中的每一个第一子数据依照该顺序写入至多个存储器子模块中的第一存储器子模块。
在本发明的一实施例中,其中第一实体程序化单元是由多个第一存储单元所构成且在第一程序化模式中,构成第一实体程序化单元的多个第一存储单元之中的每一个第一存储单元存储多个比特数据,第二实体程序化单元是由多个第二存储单元所构成且在第二程序化模式中,构成第二实体程序化单元的多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
在本发明的一实施例中,上述的数据写入方法,还包括:依序对第一子数据以及剩余子数据进行编号以使得第一子数据具有至少一第一数据编号且剩余子数据具有至少一第二数据编号。
在本发明的一实施例中,上述的数据写入方法,还包括:搜寻第一数据编号中的第三数据编号,其中第三数据编号大于第一数据编号中其他的数据编号;搜寻第二数据编号中的第四数据编号,其中第四数据编号大于第二数据编号中其他的数据编号;当第四数据编号大于第三数据编号时,将第二数据编号中第五数据编号所对应的数据识别为有效数据,其中第五数据编号大于第三数据编号;以及当第四数据编号小于第三数据编号时,将第二数据编号所对应的数据识别为无效数据。
本发明的一种存储器存储装置,包括:连接接口单元,用以电性连接至主机系统;可复写式非易失性存储器模块,包括多个存储器子模块,多个存储器子模块分别包括多个实体程序化单元;以及存储器控制电路单元,电性连接至连接接口单元与可复写式非易失性存储器模块的多个存储器子模块。存储器控制电路单元用以接收第一数据。存储器控制电路单元还用以使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,其中第一子数据中的每一个第一子数据的大小相同于预设大小。存储器控制电路单元还用以使用第二程序化模式将第一数据中第一子数据以外的剩余子数据写入至多个存储器子模块中的第二存储器子模块的第二实体程序化单元,其中剩余子数据的大小小于预设大小,以第一程序化模式所程序化的实体程序化单元的存储比特数大于以第二程序化模式所程序化的实体程序化单元的存储的比特数,且第二存储器子模块不同于第一存储器子模块中最后一个用以写入第一子数据的第三存储器子模块。
在本发明的一实施例中,其中多个存储器子模块的写入顺序依照一顺序排列,且在此顺序中第二存储器子模块是位在第三存储器子模块的下一个存储器子模块。
在本发明的一实施例中,其中在使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的第一存储器子模块的第一实体程序化单元的运作中,存储器控制电路单元分别将第一子数据中的每一个第一子数据依照此顺序写入至多个存储器子模块中的第一存储器子模块。
在本发明的一实施例中,其中第一实体程序化单元是由多个第一存储单元所构成且在第一程序化模式中,构成第一实体程序化单元的多个第一存储单元之中的每一个第一存储单元存储多个比特数据,第二实体程序化单元是由多个第二存储单元所构成且在第二程序化模式中,构成第二实体程序化单元的多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
在本发明的一实施例中,其中存储器控制电路单元依序对第一子数据以及剩余子数据进行编号以使得第一子数据具有至少一第一数据编号且剩余子数据具有至少一第二数据编号。
在本发明的一实施例中,其中存储器控制电路单元搜寻第一数据编号中的第三数据编号,其中第三数据编号大于第一数据编号中其他的数据编号。存储器控制电路单元搜寻第二数据编号中的第四数据编号,其中第四数据编号大于第二数据编号中其他的数据编号。当第四数据编号大于第三数据编号时,存储器控制电路单元将第二数据编号中第五数据编号所对应的数据识别为有效数据,其中第五数据编号大述第三数据编号,以及当第四数据编号小于第三数据编号时,存储器控制电路单元将第二数据编号所对应的数据识别为无效数据。
本发明的一种有效数据识别方法,用于可复写式非易失性存储器模块,可复写式非易失性存储器模块包括电性连接至存储器控制电路单元的多个存储器子模块,多个存储器子模块分别包括第一区域以及第二区域,且第一区域与第二区域分别包括多个实体程序化单元,所述有效数据识别方法包括:当可复写式非易失性存储器模块上电时,搜寻多个存储器子模块中的第一区域中的多个第一数据编号以取得至少一第一数据编号中的第三数据编号,其中第三数据编号大于第一数据编号中其他的数据编号;搜寻多个存储器子模块的第二区域中的至少一第二数据编号以取得第四数据编号,其中第四数据编号大于第二数据编号中其他的数据编号;以及根据第三数据编号以及第四数据编号判断第二区域中是否有存储有效数据。
在本发明的一实施例中,此有效数据识别方法还包括:接收第一数据;使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,依序对第一子数据进行编号以使得第一子数据具有所述第一数据编号,其中第一实体程序化单元属于第一区域且第一子数据中的每一个第一子数据的大小相同于预设大小;以及使用第二程序化模式将第一数据中第一子数据以外的剩余子数据写入至多个存储器子模块中的第二存储器子模块的第二实体程序化单元,依序对第一子数据以外的剩余子数据进行编号以使得剩余子数据具有所述第二数据编号。其中,第二实体程序化单元属于第二区域且剩余子数据的大小小于预设大小。以第一程序化模式所程序化的实体程序化单元的存储比特数大于以第二程序化模式所程序化的实体程序化单元的存储的比特数,且第二存储器子模块不同于第一存储器子模块中最后一个用以写入第一子数据的第三存储器子模块。
在本发明的一实施例中,其中根据第三数据编号以及第四数据编号判断第二区域中是否有存储有效数据的步骤包括:当第四数据编号大于第三数据编号时,将第二区域中的第五数据编号所对应的数据识别为有效数据,其中第五数据编号大于第三数据编号;以及当第四数据编号小于第三数据编号时,将第二区域中的数据识别为无效数据。
在本发明的一实施例中,其中第一区域的实体程序化单元是由多个第一存储单元所构成且在第一程序化模式中,构成第一区域的实体程序化单元的多个第一存储单元之中的每一个第一存储单元存储多个比特数据,第二区域的实体程序化单元是由多个第二存储单元所构成且在第二程序化模式中,构成第二区域的实体程序化单元的多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
本发明的一种存储器存储装置,包括:连接接口单元,用以电性连接至主机系统;可复写式非易失性存储器模块包括多个存储器子模块,此些存储器子模块分别包括第一区域以及第二区域,且第一区域与第二区域分别包括多个实体程序化单元;以及存储器控制电路单元,电性连接至连接接口单元与可复写式非易失性存储器模块的多个存储器子模块。当可复写式非易失性存储器模块上电时,存储器控制电路单元用以搜寻多个存储器子模块的第一区域中的至少一第一数据编号以取得所述第一数据编号中的第三数据编号,其中第三数据编号大于第一数据编号中其他的数据编号。存储器控制电路单元还用以搜寻多个存储器子模块的第二区域中的至少一第二数据编号以取得第四数据编号,其中第四数据编号大于第二数据编号中其他的数据编号。存储器控制电路单元还用以根据第三数据编号以及第四数据编号判断第二区域中是否有存储有效数据。
在本发明的一实施例中,其中存储器控制电路单元接收第一数据。存储器控制电路单元使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,依序对第一子数据进行编号以使得第一子数据具有所述第一数据编号。其中,第一实体程序化单元属于第一区域且第一子数据中的每一个第一子数据的大小相同于一预设大小。存储器控制电路单元使用第二程序化模式将第一数据中第一子数据以外的剩余子数据写入至多个存储器子模块中的第二存储器子模块的第二实体程序化单元,依序对第一子数据以外的剩余子数据进行编号以使得剩余子数据具有所述第二数据编号。其中,第二实体程序化单元属于第二区域且剩余子数据的大小小于预设大小。其中,以第一程序化模式所程序化的实体程序化单元的存储比特数大于以第二程序化模式所程序化的实体程序化单元的存储的比特数,且第二存储器子模块不同于第一存储器子模块中最后一个用以写入第一子数据的第三存储器子模块。
在本发明的一实施例中,其中在根据第三数据编号以及第四数据编号判断第二区域中是否有存储有效数据的运作中,当第四数据编号大于第三数据编号时,存储器控制电路单元将第二区域中的第五数据编号所对应的数据识别为有效数据,其中第五数据编号大于第三数据编号。当第四数据编号小于第三数据编号时,存储器控制电路单元将第二区域中的数据识别为无效数据。
在本发明的一实施例中,其中第一区域的实体程序化单元是由多个第一存储单元所构成且在第一程序化模式中,构成第一区域的实体程序化单元的多个第一存储单元之中的每一个第一存储单元存储多个比特数据。第二区域的实体程序化单元是由多个第二存储单元所构成且在第二程序化模式中,构成第二区域的实体程序化单元的多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
基于上述,本发明的数据写入方法、有效数据识别方法及存储器存储装置能够减少数据的写入(或程序化)的时间,且能够提升数据的写入效率。此外,本发明的有效数据识别方法可以在存储器存储装置重新上电后有效地识别可复写式非易失性存储器模块中所存储的有效数据。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图;
图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制电路模块的概要方块图;
图6是根据本发明一范例实施例所示出的可复写式非易失性存储器模块的概要方块图;
图7是根据本发明一范例实施例所示出的可复写式非易失性存储器模块的具体方块图;
图8是根据本发明一范例实施例所示出的以时间角度描述写入子数据至存储器子模块的示意图;
图9是根据本发明另一范例实施例所示出的可复写式非易失性存储器模块的具体方块图;
图10是根据本发明另一范例实施例所示出的以时间角度描述写入子数据至存储器子模块的示意图;
图11是根据本发明的一范例实施例所示出的数据写入方法的流程图;
图12是根据本发明的另一范例实施例所示出的有效数据识别方法的数据编号示意图;图13是根据本发明的另一范例实施例所示出的有效数据识别方法的流程图。
附图标记说明
10:存储器存储装置;
11:主机系统;
12:输入/输出(I/O)装置;
110:系统总线
111:处理器;
112:随机存取存储器(RAM);
113:只读存储器(ROM);
114:数据传输接口;
20:主机板;
201:U盘;
202:存储卡;
203:固态硬盘;
204:无线存储器存储装置;
205:全球定位系统模块;
206:网络接口卡;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
30:存储器存储装置;
31:主机系统;
32:SD卡;
33:CF卡;
34:嵌入式存储装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装存储装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
502:存储器管理电路;
504:主机接口;
506:存储器接口;
508:缓冲存储器;
510:电源管理电路;
512:错误检查与校正电路;
310、320、330、340:存储器子模块;
312、322、332、342:第一区块面;
314、324、334、344:第二区块面;
410(0)~410(N)、420(0)~420(N)、430(0)~430(N)、440(0)~440(N)、450(0)~450(N)、460(0)~460(N)、470(0)~470(N)、480(0)~480(N):实体抹除单元;
301、303、305、307:第一区域;
302、304、306、308:第二区域;
3011、3012、3013、3031、3032、3033、3051、3052、3053、3071、3072、3073:实体程序化单元组;
3021、3022、3041、3042、3061、3062、3081、3082:实体程序化单元;
DATA1~DATA17:子数据;
S1101:接收第一数据的步骤;
S1103:使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,其中第一子数据中的每一个第一子数据的大小相同于预设大小的步骤;
S1105:使用第二程序化模式将第一数据中第一子数据以外的剩余子数据写入至多个存储器子模块中的第二存储器子模块的第二实体程序化单元,其中剩余子数据的大小小于预设大小且第二存储器子模块不同于第一存储器子模块中最后一个用以写入第一子数据的第三存储器子模块的步骤;
S1107:依序对第一子数据以及剩余子数据进行编号以使得第一子数据具有至少一第一数据编号且剩余子数据具有至少一第二数据编号的步骤;
S1301:当可复写式非易失性存储器模块上电时,搜寻多个存储器子模块中的第一区域中的至少一第一数据编号以取得第三数据编号,其中第三数据编号大于第一数据编号中其他的数据编号的步骤;
S1303:搜寻多个存储器子模块中的第二区域中的至少一第二数据编号以取得第四数据编号,其中第四数据编号大于第二数据编号中其他的数据编号的步骤;
S1305:根据第三数据编号以及第四数据编号判断第二区域中是否有存储有效数据的步骤
S1307:将第二区域中的第五数据编号所对应的数据识别为有效数据,其中第五数据编号大于第三数据编号的步骤;
S1309:将第二区域中的数据识别为无效数据的步骤。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路单元)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图,并且图2是根据另一范例实施例所示出的主机系统、存储器存储装置及输入/输出(I/O)装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器存储装置10电性连接。例如,主机系统11可通过数据传输接口114将数据写入至存储器存储装置10或从存储器存储装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可通过系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114是可设置在主机系统11的主机板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主机板20可以通过有线或无线方式电性连接至存储器存储装置10。存储器存储装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器存储装置204。无线存储器存储装置204可例如是近距离无线通讯(Near FieldCommunication Storage,NFC)存储器存储装置、无线传真(WiFi)存储器存储装置、蓝牙(Bluetooth)存储器存储装置或低功耗蓝牙存储器存储装置(例如,iBeacon)等以各式无线通讯技术为基础的存储器存储装置。此外,主机板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络接口卡206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主机板20可通过无线传输装置207存取无线存储器存储装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器存储装置配合以存储数据的任意系统。虽然在上述范例实施例中,主机系统是以电脑系统来作说明,然而,图3是根据另一范例实施例所示出的主机系统与存储器存储装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数码相机、摄影机、通讯装置、音频播放器、视频播放器或平板电脑等系统,而存储器存储装置30可为其所使用的SD卡32、CF卡33或嵌入式存储装置34等各式非易失性存储器存储装置。嵌入式存储装置34包括嵌入式多媒体卡(embeddedMMC,eMMC)341和/或嵌入式多芯片封装存储装置(embedded Multi Chip Package,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式存储装置。
图4是根据一范例实施例所示出的主机系统与存储器存储装置的概要方块图。
请参照图4,存储器存储装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是相容于安全数字(Secure Digital,SD)接口标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、并行高级技术附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体存储卡(Multi Media Card,MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、嵌入式多芯片封装(embedded MultiChip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,IDE)标准或其他适合的标准。在本范例实施例中,连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于一包含存储器控制电路模块的芯片外。
存储器控制电路单元404用以执行以硬件型式或固体型式实作的多个逻辑闸或控制指令,并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等操作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以存储主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型快闪存储器模块(即,一个存储单元中可存储1个比特的快闪存储器模块)、多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特的快闪存储器模块)、复数阶存储单元(Triple Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制电路模块的概要方块图。
请参照图5,存储器控制电路单元404包括存储器管理电路502、主机接口504与存储器接口506。
存储器管理电路502用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路502具有多个控制指令,并且在存储器存储装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路502的控制指令是以固体型式来实作。例如,存储器管理电路502具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路502的控制指令也可以程序码型式存储于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路502具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元404被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块406中的控制指令载入至存储器管理电路502的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路502的控制指令也可以一硬件型式来实作。例如,存储器管理电路502包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块406的实体抹除单元;存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令以将数据写入至可复写式非易失性存储器模块406中;存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令以从可复写式非易失性存储器模块406中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令以将数据从可复写式非易失性存储器模块406中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。
主机接口504是电性连接至存储器管理电路502并且用以电性连接至连接接口单元402,以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口504来传送至存储器管理电路502。在本范例实施例中,主机接口504是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口504也可以是相容于PATA标准、IEEE 1394标准、PCI Express标准、USB标准、UHS-I接口标准、UHS-II接口标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口506是电性连接至存储器管理电路502并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会通过存储器接口506转换为可复写式非易失性存储器模块406所能接受的格式。
在一范例实施例中,存储器控制电路单元404还包括缓冲存储器508、电源管理电路510与错误检查与校正电路512。
缓冲存储器508是电性连接至存储器管理电路502并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。
电源管理电路510是电性连接至存储器管理电路502并且用以控制存储器存储装置10的电源。
错误检查与校正电路512是电性连接至存储器管理电路502并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路502从主机系统11中接收到写入指令时,错误检查与校正电路512会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路502会将对应此写入指令的数据与对应的错误检查与校正码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路512会根据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
在本范例实施例中,错误检查与校正电路512是以低密度奇偶检查码(lowdensity parity code,LDPC)来实作。然而,在另一范例实施例中,错误检查与校正电路512也可以BCH码、回旋码(convolutional code)、涡轮码(turbo code)、比特翻转(bitflipping)等编码/解码算法来实作。
具体来说,存储器管理电路502会依据所接收的数据及对应的错误检查与校正码(以下也称为错误校正码)来产生错误校正码框(ECC Frame)并且将错误校正码框写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路502从可复写式非易失性存储器模块406读取数据时,错误检查与校正电路512会根据错误校正码框中的错误校正码来验证所读取的数据的正确性。
以下描述存储器管理电路502、主机接口504与存储器接口506、缓冲存储器508、电源管理电路510与错误检查与校正电路512所执行的操作,也可参考为由存储器控制电路单元404所执行。
图6是根据本发明范例实施例所示出的可复写式非易失性存储器模块的概要方块图。
请参照图6,可复写式非易失性存储器模块406包括存储器子模块310、存储器子模块320、存储器子模块330以及存储器子模块340(以下简称存储器子模块310~340)。例如,存储器子模块310~340分别地为存储器晶粒(die)。存储器子模块310具有第一区块面312(包含了实体抹除单元410(0)~410(N)与第二区块面314(包含了实体抹除单元420(0)~420(N)),存储器子模块320具有第一区块面322(包含了实体抹除单元430(0)~430(N))与第二区块面324(包含了实体抹除单元440(0)~440(N)),存储器子模块330具有第一区块面332(包含了实体抹除单元450(0)~450(N)与第二区块面334(包含了实体抹除单元460(0)~460(N)),并且存储器子模块340具有第一区块面342(包含了实体抹除单元470(0)~470(N))与第二区块面344(包含了实体抹除单元480(0)~480(N))。
例如,存储器子模块310~340可通过1个数据总线与存储器控制电路单元404电性连接。在此,存储器控制电路单元404可以用交错(interleave)的方式将数据通过单一数据总线写入至存储器子模块310~340。
特别是,存储器子模块310~340可以分别包括多条字符线,而同一条字符线上的多个存储单元会形成多个实体程序化单元。存储器子模块310~340的每一实体抹除单元分别具有复数个实体程序化单元,其中属于同一个实体抹除单元的实体程序化单元可被独立地写入且被同时地抹除。例如,每一实体抹除单元是由128个实体程序化单元所组成。然而,必须了解的是,本发明不限于此,每一实体抹除单元是可由64个实体程序化单元、256个实体程序化单元或其他任意个实体程序化单元所组成。
更详细来说,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。需注意的是,在另一范例实施例中,一个实体抹除单元也可以是指一个实体地址、一个实体程序化单元或由多个连续或不连续的实体地址组成。
值得一提的是,虽然本发明范例实施例是以包括4个存储器子模块的可复写式非易失性存储器模块406为例来描述,但本发明不限于此。在其他实施例中,可复写式非易失性存储器模块406也可以包括更多或更少的存储器子模块。
图7是根据本发明一范例实施例所示出的可复写式非易失性存储器模块的具体方块图。
在本范例实施例中,以可复写式非易失性存储器模块406包括依照一顺序排列的存储器子模块310~340为例进行说明。所述存储器子模块310具有第一区域301及第二区域302,所述存储器子模块320具有第一区域303及第二区域304,所述存储器子模块330具有第一区域305及第二区域306,所述存储器子模块340具有第一区域307及第二区域308。假设可复写式非易失性存储器模块406为MLC NAND型快闪存储器模块,所述存储器子模块310~340的第一区域中的多个存储单元中的每一个存储单元可存储2个比特,而同一条字符线上的存储单元会组成一或多个实体程序化单元,且同一条字符线上的实体程序化单元至少可被分类为下实体程序化单元与上实体程序化单元。特别是,第一区域301、第一区域303、第一区域305以及第一区域307(以下简称第一区域301~307)的实体程序化单元是使用一第一程序化模式进行写入,且该第一程序化模式是以一个“实体程序化单元组”为单位进行写入。第二区域302、第二区域304、第二区域306以及第二区域308(以下简称第二区域302~308)的实体程序化单元是使用一第二程序化模式进行写入,且该第二程序化模式是以一个“实体程序化单元”为单位进行写入。
在本范例实施例中,属于同一字符线的存储单元的最低有效比特(LeastSignificant Bit,LSB)会构成下实体程序化单元,且属于同一字符线的存储单元的最高有效比特(Most Significant Bit,MSB)会构成上实体程序化单元,且同一字符线的下实体程序化单元以及上实体程序化单元会构成一个实体程序化单元组。例如,存储器子模块310中一字符线上的存储单元所构成的下实体程序化单元及上实体程序化单元可以构成一个实体程序化单元组3011。存储器子模块310的另一字符线上的存储单元所构成的下实体程序化单元及上实体程序化单元可以构成一个实体程序化单元组3012。存储器子模块310的另一字符线上的存储单元所构成的下实体程序化单元及上实体程序化单元可以构成一个实体程序化单元组3013。其中,所述实体程序化单元组3011~3013属于存储器子模块310的第一区域301。
此外,存储器子模块310的第二区域302可以包括实体程序化单元3021以及实体程序化单元3022。实体程序化单元3021以及实体程序化单元3022可以使用第二程序化模式进行写入,且该第二程序化模式是以一个“实体程序化单元”为单位进行写入。例如,在存储器子模块310的第二区域302中,构成实体程序化单元3021~3022的多个存储单元中仅使用最低有效比特(Least Significant Bit,LSB)来存储数据。也就是说,若是以MLC NAND型快闪存储器模块来模拟SLC NAND型快闪存储器模块时,MLC NAND型快闪存储器模块只有“下实体程序化单元”能够用以写入(或存储)数据。在此,为了方便于说明,图7中存储器子模块310的第二区域302仅示出两个实体程序化单元3021~3022。
类似于上述存储器子模块310,存储器子模块320可以包括实体程序化单元组3031~3033。其中,所述实体程序化单元组3031~3033属于存储器子模块320的第一区域303。此外,存储器子模块320的第二区域304可以包括实体程序化单元3041~3042。
类似于上述存储器子模块310,存储器子模块330可以包括实体程序化单元组3051~3053。其中,所述实体程序化单元组3051~3053属于存储器子模块330的第一区域305。此外,存储器子模块330的第二区域306可以包括实体程序化单元3061~3062。
类似于上述存储器子模块310,存储器子模块340可以包括实体程序化单元组3071~3073。其中,所述实体程序化单元组3071~3073属于存储器子模块340的第一区域307。此外,存储器子模块340的第二区域308可以包括实体程序化单元3081~3082。
需说明的是,在此假设存储器控制电路单元404从主机系统11接收一写入指令以及对应该写入指令的一笔数据(也称为,第一数据),当存储器控制电路单元404要将此第一数据写入至可复写式非易失性存储器模块406时,存储器控制电路单元404会先将该第一数据依照“实体程序化单元组”的大小分为多个子数据(也称为,第一子数据),并依序地将此些符合“实体程序化单元组”的大小的第一子数据以交错(interleave)的方式写入至存储器子模块310~340中的第一区域301~307。此外,若在第一数据中所述第一子数据以外有不符合“实体程序化单元组”的大小的剩余子数据,则此剩余子数据会被写入存储器子模块310~340的其中一个的第二区域302~308中。
详细来说,假设存储器控制电路单元404可以将第一数据分割为子数据DATA1~DATA15,并且存储器控制电路单元404可以对此些子数据进行编号并将此些编号记录于可复写式非易失性存储器模块406的一系统区(未示出)中。存储器控制电路单元404可以发送指令序列给可复写式非易失性存储器模块406以使得可复写式非易失性存储器模块406的控制电路使用第一程序化模式分别将子数据DATA1~DATA2写入至存储器子模块310的实体程序化单元组3011的下实体程序化单元以及上实体程序化单元中。接着,存储器控制电路单元404可以发送指令序列给可复写式非易失性存储器模块406以使得可复写式非易失性存储器模块406的控制电路使用第一程序化模式分别将子数据DATA3~DATA4写入至存储器子模块320的实体程序化单元组3031的下实体程序化单元以及上实体程序化单元中。
之后,DATA5~DATA14的写入方式如同DATA1~DATA4的写入方式分别写入至存储器子模块310~340的实体程序化单元组3051、3071、3012及3032的下实体程序化单元以及上实体程序化单元中,在此就不再赘述。
图8是根据本发明一范例实施例所示出的以时间角度描述写入子数据至存储器子模块的示意图。特别是,图8的范例实施例是以时间的角度来描述图7中子数据的写入。
请同时参照图7与图8,当可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD1时,可复写式非易失性存储器模块406的控制电路会根据指令序列CMD1写入子数据DATA1~DATA2至存储器子模块310。在写入子数据DATA1~DATA2至存储器子模块310的同时,可复写式非易失性存储器模块406还可以接收存储器控制电路单元404发送的另一指令序列CMD2。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD2写入子数据DATA3~DATA4至存储器子模块320。也就是说,在写入子数据DATA1~DATA2至存储器子模块310的期间,可复写式非易失性存储器模块406的控制电路可以平行地(或同时地)写入子数据DATA3~DATA4至存储器子模块320。
同样地,在写入子数据DATA3~DATA4至存储器子模块320期间,可复写式非易失性存储器模块406还可以接收存储器控制电路单元404的另一指令序列CMD3。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD3将子数据DATA5~DATA6写入至存储器子模块330。而在写入子数据DATA5~DATA6至存储器子模块330期间,可复写式非易失性存储器模块406还可以接收存储器控制电路单元404的另一指令序列CMD4。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD4将子数据DATA7~DATA8写入至存储器子模块340。
特别是,在写入子数据DATA7~DATA8至存储器子模块340期间,由于对应于子数据DATA1~DATA2的写入操作已完成,故此时存储器子模块310已处于闲置状态。因此,可复写式非易失性存储器模块406可以接收存储器控制电路单元404的另一指令序列CMD5。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD5将子数据DATA9~DATA10写入至存储器子模块310。类似地,在写入子数据DATA9~DATA10至存储器子模块310的期间,由于对应于子数据DATA3~DATA4的写入操作已完成,故此时存储器子模块320已处于闲置状态。可复写式非易失性存储器模块406可以接收存储器控制电路单元404的另一指令序列CMD6以将子数据DATA11~DATA12写入至存储器子模块320。类似地,在写入子数据DATA11~DATA12至存储器子模块320期间,由于对应于子数据DATA5~DATA6的写入操作已完成,故此时存储器子模块330已处于闲置状态。可复写式非易失性存储器模块406可以接收存储器控制电路单元404的另一指令序列CMD7以将子数据DATA13~DATA14写入至存储器子模块330。
须注意的是,“子数据DATA1~DATA2”、“子数据DATA3~DATA4”、“子数据DATA5~DATA6”、“子数据DATA7~DATA8”、“子数据DATA9~DATA10”、“子数据DATA11~DATA12”以及“子数据DATA13~DATA14”可以分别被称为“第一子数据”,而每一个第一子数据的大小是相同于一预设大小(即,一个实体程序化单元组的大小)。
特别是,请再次参照图7,在可复写式非易失性存储器模块406的控制电路在使用第一程序化模式分别将子数据DATA13~DATA14写入至存储器子模块330的实体程序化单元组3052的下实体程序化单元以及上实体程序化单元的过程中,存储器控制电路单元404还会发送指令序列给可复写式非易失性存储器模块406以使得可复写式非易失性存储器模块406的控制电路使用一第二程序化模式将所述第一数据中所述第一子数据以外的剩余子数据DATA15写入存储器子模块340的第二区域308的实体程序化单元3081。在此需注意的是,用于写入所述剩余子数据DATA15的存储器子模块340(也称为,第二存储器子模块)是不同于最后一个用以写入所述第一子数据(即,子数据DATA13~14)的存储器子模块330(也称为,第三存储器子模块)。特别是,在本范例实施例中,上述第二存储器子模块是位在第三存储器子模块的下一个存储器子模块。然而本发明不限于此,在其他实施例中,第二存储器子模块也可以是其他与第三存储器子模块不同的存储器子模块(例如,存储器子模块310或存储器子模块320)。
更详细来说,请再次参照图8。在写入子数据DATA13~DATA14至存储器子模块330期间,由于子数据DATA7~DATA8已被写入完成,故存储器子模块340是处于闲置的状态。可复写式非易失性存储器模块406可以接收存储器控制电路单元404的另一指令序列CMD8以使用第二程序化模式将子数据DATA15写入至位在存储器子模块330的下一个存储器子模块340的第二区域308。也就是说,通过此方式,在写入子数据DATA13~DATA14的同时可以平行地写入子数据DATA15。
在其他范例实施例中,在可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD8之后,由于此时子数据DATA9~DATA10已被写入完成,故存储器子模块310也是处于闲置的状态,若交错写入模式仍采用在第一区域及第二区域独立运作的模式,则可复写式非易失性存储器模块406的控制电路也可以使用第二程序化模式将子数据DATA15写入至存储器子模块310的第二区域302。然而此时需等待交错写入模式放弃写入存储器子模块340之后,再将子数据DATA15写入至存储器子模块310的第二区域302。
在其他范例实施例中,假设在可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD8之后且子数据DATA11~DATA12已被写入完成而使得存储器子模块320处于闲置的状态时,可复写式非易失性存储器模块406的控制电路也可以使用第二程序化模式将子数据DATA15写入至存储器子模块320的第二区域304。然而此时需等待交错写入模式放弃写入存储器子模块340以及310之后,再将子数据DATA15写入至存储器子模块320的第二区域304。
以交错写入模式采用在第一区域及第二区域独立运作的上述方式在写入子数据DATA13~DATA14至存储器子模块330期间,若要写入子数据DATA15至存储器子模块310则需要空下交错模式写入存储器子模块340的时间,并等待可复写式非易失性存储器模块406的控制电路在交错写入模式下发出写入存储器子模块310的命令;同理,若要写入子数据DATA15至存储器子模块320则需要空下交错模式写入存储器子模块340及310的时间,并等待可复写式非易失性存储器模块406的控制电路在交错写入模式下发出写入存储器子模块320的命令。也就是说,当交错写入模式是第一区及第二区独立运作的模式,则子数据DATA15无论是写入至存储器子模块320或310的第二区域304或306,皆无法最大程度减少程序化时间。
特别是,可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD8之后,由于此时子数据DATA13~DATA14未完全写入存储器子模块330,若假设需要将子数据DATA15写入至存储器子模块330的第二区域306,则需要等待子数据DATA13~DATA14完全写入存储器子模块330,并且依序等待交错模式放弃写入存储器子模块340、310以及320的时间之后,才能写入子数据DATA15至存储器子模块330。也就是说,当可复写式非易失性存储器模块406的控制电路须依序对存储器子模块330的第一区域305以及第二区域306进行写入时,存储器控制电路单元404需等待可复写式非易失性存储器模块406的控制电路将子数据DATA13~DATA14写入第一区域305后才能再发送指令序列CMD8以对第二区域306进行写入,而此方式会而造成写入效率的降低。
值得一提的是,在本范例实施例中,存储器子模块310的第二区域302、存储器子模块320的第二区域304、存储器子模块330的第二区域306及存储器子模块340的第二区域308可视为用来暂存数据的区域。若之后存储器控制电路单元404接收到一笔子数据DATA16(未示出),则存储器控制电路单元404可以将子数据DATA15复制至存储器子模块340的实体程序化单元组3072的下实体程序化单元,并且将子数据DATA16写入至存储器子模块340的实体程序化单元组3072的上实体程序化单元中。此实,存储在第二区域308中的子数据DATA15会变为无效数据。
此外,假设在图7的状态下可复写式非易失性存储器模块406断电后重新上电,存储器控制电路单元404须判断第二区域302~308中是否有存储有效数据。具体来说,存储器控制电路单元404可以搜寻第一区域301~307中所存储的数据的数据编号(在此称为第一数据编号)以取得一最大的数据编号(在此称为第三数据编号)。其中,此第三数据编号大于所述第一数据编号中其他的数据编号。在本范例实施例中,假设第三数据编号为子数据DATA14的数据编号。此外,存储器控制电路单元404还须搜寻第二区域302~308中所存储的子数据的数据编号(在此称为第二数据编号)以取得一最大的数据编号(在此称为第四数据编号)。其中,此第四数据编号大于第二数据编号中其他的数据编号。
当上述的第四数据编号大于上述的第三数据编号时,存储器控制电路单元404可以将第二区域302~308中大于上述第三数据编号的数据编号(也称为第五数据编号)所对应的数据识别为有效数据。举例来说,在本范例实施例中,由于第三数据编号为子数据DATA14的数据编号,而在第二区域308中存有子数据DATA15且子数据DATA15的数据编号大于子数据DATA14的数据编号,故存储器控制电路单元404可以将第二区域308中大于子数据DATA14的数据编号的子数据(即,子数据DATA15)识别为有效数据。
然而,当上述从第二区域302~308中所取得的第四数据编号小于从第一区域301~307中取得的第三数据编号时,存储器控制电路单元404会将第二区域302、第二区域304、第二区域306及第二区域308中所存储的数据识别为无效数据。
通过上述方式,当可复写式非易失性存储器模块406在对存储器子模块330程序化的同时,存储器控制电路单元404可以发送指令序列以将剩余子数据写入不同于用于写入第一子数据的最后一个存储器子模块(例如,存储器子模块330)的存储器子模块(例如,存储器子模块340)。换句话说就是将第二区域的交错写入模式与第一区域的交错写入模式相关联而非分别独立运作,因此当可复写式非易失性存储器模块406根据指令序列在写入子数据DATA13、DATA14至存储器子模块330时,存储器控制电路单元404可以再发送指令序列以控制可复写式非易失性存储器模块406将剩余子数据DATA15同时程序化至属于不同存储器子模块的实体程序化单元中,较佳为在交错写入模式下刚被写完的存储器子模块的下一个存储器子模块,在本实施例为存储器子模块340。基于此方式,不仅能够减少程序化时间,还可以提升数据的写入效率。
图9是根据本发明另一范例实施例所示出的可复写式非易失性存储器模块的具体方块图。
在本范例实施例中,以可复写式非易失性存储器模块406包括依照一顺序排列的存储器子模块310~340为例进行说明。存储器子模块310具有第一区域301及第二区域302,存储器子模块320具有第一区域303及第二区域304,存储器子模块330具有第一区域305及第二区域306,存储器子模块340具有第一区域307及第二区域308。假设可复写式非易失性存储器模块406为TLC NAND型快闪存储器模块,存储器子模块310~340的第一区域中的多个存储单元中的每一个存储单元可存储3个比特,而同一条字符线上的存储单元会组成一或多个实体程序化单元,且同一条字符线上的实体程序化单元至少可被分类为下实体程序化单元、中实体程序化单元与上实体程序化单元。特别是,第一区域301~307的实体程序化单元是使用第一程序化模式进行写入,且该第一程序化模式是以一个“实体程序化单元组”为单位进行写入。第二区域302~308的实体程序化单元是使用第二程序化模式进行写入,且该第二程序化模式是以一个“实体程序化单元”为单位进行写入。
在本范例实施例中,属于同一字符线的存储单元的最低有效比特(LeastSignificant Bit,LSB)会构成下实体程序化单元,属于同一字符线的存储单元的中间有效比特(Center Significant Bit,CSB)会构成中实体程序化单元,且属于同一字符线的存储单元的最高有效比特(Most Significant Bit,MSB)会构成上实体程序化单元,且同一字符线的下实体程序化单元、中实体程序化单元以及上实体程序化单元会构成一个实体程序化单元组。例如,存储器子模块310中一字符线上的存储单元所构成的下实体程序化单元、中实体程序化单元及上实体程序化单元可以构成一个实体程序化单元组3011。存储器子模块310的另一字符线上的存储单元所构成的下实体程序化单元、中实体程序化单元及上实体程序化单元可以构成一个实体程序化单元组3012。存储器子模块310的另一字符线上的存储单元所构成的下实体程序化单元、中实体程序化单元及上实体程序化单元可以构成一个实体程序化单元组3013。其中,实体程序化单元组3011~3013属于存储器子模块310的第一区域301。
此外,存储器子模块310的第二区域302可以包括实体程序化单元3021~3022。实体程序化单元3021~3022可以使用第二程序化模式进行写入,且该第二程序化模式是以一个“实体程序化单元”为单位进行写入。例如,在存储器子模块310的第二区域302中,构成实体程序化单元3021~3022的多个存储单元中仅使用最低有效比特(Least SignificantBit,LSB)来存储数据。也就是说,若是以TLC NAND型快闪存储器模块来模拟SLC NAND型快闪存储器模块时,TLC NAND型快闪存储器模块只有“下实体程序化单元”能够用以写入(或存储)数据。在此,为了方便于说明,图8中存储器子模块310的第二区域302仅示出两个实体程序化单元3021~3022。
类似于上述存储器子模块310,存储器子模块320可以包括实体程序化单元组3031~3033。其中,实体程序化单元组3031~3033属于存储器子模块320的第一区域303。此外,存储器子模块320的第二区域304可以包括实体程序化单元3041~3042。
类似于上述存储器子模块310,存储器子模块330可以包括实体程序化单元组3051~3053。其中,实体程序化单元组3051~3053属于存储器子模块330的第一区域305。此外,存储器子模块330的第二区域306可以包括实体程序化单元3061~3062。
类似于上述存储器子模块310,存储器子模块340可以包括实体程序化单元组3071~3073。其中,实体程序化单元组3071~3073属于存储器子模块340的第一区域307。此外,存储器子模块340的第二区域308可以包括实体程序化单元3081~3082。
需说明的是,在此假设存储器控制电路单元404从主机系统11接收一写入指令以及对应该写入指令的一笔数据(也称为,第一数据),当存储器控制电路单元404要将此第一数据写入至可复写式非易失性存储器模块406时,存储器控制电路单元404会先将该第一数据依照“实体程序化单元组”的大小分为多个子数据(也称为,第一子数据),并依序地将此些符合“实体程序化单元组”的大小的第一子数据以交错(interleave)的方式写入至存储器子模块310~340中的第一区域。此外,若在第一数据中第一子数据以外有不符合“实体程序化单元组”的大小的剩余子数据,则此剩于子数据会被写入存储器子模块310~340的其中一个的第二区域中。
详细来说,假设存储器控制电路单元404可以将第一数据分割为子数据DATA1~DATA17,并且存储器控制电路单元404可以对此些子数据进行编号并将此些编号记录于可复写式非易失性存储器模块406的一系统区(未示出)中。存储器控制电路单元404可以发送指令序列给可复写式非易失性存储器模块406以使得可复写式非易失性存储器模块406的控制电路使用第一程序化模式分别将子数据DATA1~DATA3写入至存储器子模块310的实体程序化单元组3011的下实体程序化单元、中实体程序化单元以及上实体程序化单元中。存储器控制电路单元404可以发送指令序列给可复写式非易失性存储器模块406以使得可复写式非易失性存储器模块406的控制电路使用第一程序化模式分别将子数据DATA4~DATA6写入至存储器子模块320的实体程序化单元组3031的下实体程序化单元、中实体程序化单元以及上实体程序化单元中。
DATA7~DATA15的写入方式如同前述的DATA1~DATA6,于此不再赘述。
图10是根据本发明另一范例实施例所示出的以时间角度描述写入子数据至存储器子模块的示意图。特别是,图10的范例实施例是以时间的角度来描述图9中子数据的写入。
请同时参照图9与图10,当可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD1时,可复写式非易失性存储器模块406的控制电路会根据指令序列CMD1写入子数据DATA1~DATA3至存储器子模块310。而在将子数据DATA1~DATA3写入至存储器子模块310的同时,可复写式非易失性存储器模块406还可以接收存储器控制电路单元404发送的另一指令序列CMD2。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD2写入子数据DATA4~DATA6至存储器子模块320。也就是说,在写入子数据DATA1~DATA3至存储器子模块310期间,可复写式非易失性存储器模块406的控制电路可以平行地(或同时地)写入子数据DATA4~DATA6至存储器子模块320。
同样地,在写入子数据DATA4~DATA6至存储器子模块320期间,可复写式非易失性存储器模块406还可以接收存储器控制电路单元404的另一指令序列CMD3。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD3将子数据DATA7~DATA9写入至存储器子模块330。而在写入子数据DATA7~DATA9至存储器子模块330期间,可复写式非易失性存储器模块406还可以接收存储器控制电路单元404的另一指令序列CMD4。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD4将子数据DATA10~DATA12写入至存储器子模块340。
特别是,在写入子数据DATA10~DATA12至存储器子模块340期间,由于对应于子数据DATA1~DATA3的写入操作已完成,故此时存储器子模块310已处于闲置状态。因此,可复写式非易失性存储器模块406可以接收存储器控制电路单元404的另一指令序列CMD5。可复写式非易失性存储器模块406的控制电路会根据指令序列CMD5将子数据DATA13~DATA15写入至存储器子模块310。
须注意的是,在图9的范例实施例中,“子数据DATA1~DATA3”、“子数据DATA4~DATA6”、“子数据DATA7~DATA9”、“子数据DATA10~DATA12”、“子数据DATA13~DATA15”可以分别被称为“第一子数据”,而每一个第一子数据的大小是相同于预设大小(即,一个实体程序化单元组的大小)。
特别是,请再次参照图9,在可复写式非易失性存储器模块406的控制电路在使用第一程序化模式分别将子数据DATA13~DATA15写入至存储器子模块310的实体程序化单元组3012的下实体程序化单元、中实体程序化单元以及上实体程序化单元的过程中,存储器控制电路单元404还可以发送指令序列给可复写式非易失性存储器模块406以使得可复写式非易失性存储器模块406的控制电路使用第二程序化模式将第一数据中第一子数据以外的剩余子数据DATA16~DATA17分别写入存储器子模块320的第二区域304的实体程序化单元3041~3042中。在此需注意的是,用于写入剩余子数据DATA16~DATA17的存储器子模块320(也称为,第二存储器子模块)是不同于最后一个用以写入第一子数据(即,子数据DATA13~15)的存储器子模块310(也称为,第三存储器子模块)。特别是,在本范例实施例中,上述第二存储器子模块是位在第三存储器子模块的下一个存储器子模块。然而本发明不限于此,在其他实施例中,第二存储器子模块也可以是其他与第三存储器子模块不同的存储器子模块(例如,存储器子模块330或存储器子模块340)。
更详细来说,请再次参照图10。在写入子数据DATA13~DATA15至存储器子模块310期间,由于子数据DATA4~DATA6已被写入完成,故存储器子模块320是处于闲置的状态。可复写式非易失性存储器模块406可以接收存储器控制电路单元404的另一指令序列CMD6以使用第二程序化模式将子数据DATA16~DATA17写入至位在存储器子模块310的下一个存储器子模块320的第二区域304。也就是说,通过此方式,在写入子数据DATA13~DATA15的同时可以平行地写入子数据DATA16~DATA17。
在其他范例实施例中,在可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD6之后,由于此时子数据DATA7~DATA9已被写入完成,故存储器子模块330也是处于闲置的状态,若交错写入模式仍采用在第一区域及第二区域独立运作的模式,则可复写式非易失性存储器模块406的控制电路也可以使用第二程序化模式将子数据DATA16~DATA17写入至存储器子模块330的第二区域306。然而此时需等待交错写入模式放弃写入存储器子模块320之后,再将子数据DATA16~17写入至存储器子模块330的第二区域306。
在其他范例实施例中,在可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD6之后,由于此时子数据DATA10~DATA12已被写入完成,故存储器子模块340也是处于闲置的状态,可复写式非易失性存储器模块406的控制电路也可以使用第二程序化模式将子数据DATA16~DATA17写入至存储器子模块340的第二区域308。然而此时需等待交错写入模式放弃写入存储器子模块320以及330之后,再将子数据DATA16~DATA17写入至存储器子模块340的第二区域308。
以交错写入模式采用在第一区域及第二区域独立运作的上述方式在写入子数据DATA13~DATA15至存储器子模块310期间,若要写入子数据DATA16~DATA17至存储器子模块330则需要空下交错模式写入存储器子模块320的时间,并等待可复写式非易失性存储器模块406的控制电路在交错写入模式下发出写入存储器子模块330的命令;同理,若要写入子数据DATA16~DATA17至存储器子模块340则需要空下交错模式写入存储器子模块320及330的时间,并等待可复写式非易失性存储器模块406的控制电路在交错写入模式下发出写入存储器子模块340的命令。也就是说,当交错写入模式是第一区及第二区独立运作的模式,则子数据DATA16~DATA17无论是写入至存储器子模块330或340的第二区域306或308,皆无法最大程度减少程序化时间。
特别是,可复写式非易失性存储器模块406接收存储器控制电路单元404发送的指令序列CMD6之后,由于此时子数据DATA13~DATA15未完全写入存储器子模块310,若假设需要将子数据DATA16~DATA17写入至存储器子模块310的第二区域302,则需要等待子数据DATA13~DATA15完全写入存储器子模块310,并且依序等待交错模式放弃写入存储器子模块320、330以及340的时间之后,才能写入子数据DATA16~DATA17至存储器子模块310的第二区域302。也就是说,当可复写式非易失性存储器模块406的控制电路需依序对存储器子模块310的第一区域301以及第二区域302进行写入时,存储器控制电路单元404需等待可复写式非易失性存储器模块406的控制电路将子数据DATA13~DATA15写入第一区域301后才能再发送指令序列CMD6以对第二区域302进行写入,而此方式会造成写入效率的降低。
值得一提的是,在本范例实施例中,第二区域302~308可视为用来暂存数据的区域。若之后存储器控制电路单元404接收到一笔子数据DATA18(未示出),则存储器控制电路单元404可以将子数据DATA16~DATA17分别复制至存储器子模块320的实体程序化单元组3032的下实体程序化单元以及中实体程序化单元,并且将子数据DATA18写入至存储器子模块320的实体程序化单元组3032的上实体程序化单元中。此时,存储在第二区域304中的子数据DATA16~DATA17会变为无效数据。
此外,假设在图9的状态下可复写式非易失性存储器模块406断电后重新上电,存储器控制电路单元404须判断第二区域302~308中是否有存储有效数据。具体来说,存储器控制电路单元404可以搜寻第一区域301~307中所存储的数据的数据编号(在此称为第一数据编号)以取得一最大的数据编号(在此称为第三数据编号)。其中,此第三数据编号大于第一数据编号中其他的数据编号。在本范例实施例中,假设第三数据编号为子数据DATA15的数据编号。此外,存储器控制电路单元404还须搜寻第二区域302~308中所存储的子数据的数据编号(在此称为第二数据编号)以取得一最大的数据编号(在此称为第四数据编号)。其中,此第四数据编号大于第二数据编号中其他的数据编号。
当上述的第四数据编号大于上述的第三数据编号时,存储器控制电路单元404可以将第二区域302~308中大于上述第三数据编号的数据编号(也称为第五数据编号)所对应的数据识别为有效数据。举例来说,在本范例实施例中,由于第三数据编号为子数据DATA15的数据编号,而在第二区域308中存有子数据DATA17且子数据DATA17的数据编号大于子数据DATA15的数据编号,故存储器控制电路单元404可以将第二区域308中数据编号大于子数据DATA15的数据编号的子数据(即,子数据DATA16~17)识别为有效数据。
然而,当上述从第二区域302~308中所取得的第四数据编号小于从第一区域301~307中取得的第三数据编号时,存储器控制电路单元404会将第二区域302~308中所存储的数据识别为无效数据。
通过上述方式,当可复写式非易失性存储器模块406在对存储器子模块330程序化的同时,存储器控制电路单元404可以发送指令序列以将剩余子数据写入不同于用于写入第一子数据的最后一个存储器子模块(例如,存储器子模块310)的存储器子模块(例如,存储器子模块320)。换句话说就是将第二区域的交错写入模式与第一区域的交错写入模式相关联而非分别独立运作,因此当可复写式非易失性存储器模块406在写入子数据DATA13~15时,存储器控制电路单元404可以再发送指令序列以控制可复写式非易失性存储器模块406将剩余子数据DATA16~17同时程序化至属于不同存储器子模块的实体程序化单元中,较佳为在交错写入模式下刚被写完的存储器子模块的下一个存储器子模块,在本实施例为存储器子模块320。基于此方式,不仅能够减少程序化时间,还可以提升数据的写入效率。
图11是根据本发明的一范例实施例所示出的数据写入方法的流程图。
请参照图11,在步骤S1101中,存储器控制电路单元404从主机系统11接收欲存储在可复写式非易失性存储器模块406的第一数据。在步骤S1103中,存储器控制电路单元404使用第一程序化模式将第一数据中的第一子数据写入至多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元。其中,第一子数据中的每一个第一子数据的大小相同于预设大小。在步骤S1105中,存储器控制电路单元404使用第二程序化模式将第一数据中第一子数据以外的剩余子数据写入至多个存储器子模块中的第二存储器子模块的第二实体程序化单元。其中,剩余子数据的大小小于预设大小。特别是,第二存储器子模块不同于第一存储器子模块中最后一个用以写入第一子数据的第三存储器子模块。而在一实施例中,多个存储器子模块依照一顺序排列,且在此顺序中第二存储器子模块是位在第三存储器子模块的下一个存储器子模块。
此外,此数据写入方法还可以包括以下步骤:在步骤S1107中,存储器控制电路单元404依序对第一子数据以及剩余子数据进行编号以使得第一子数据具有至少一第一数据编号且剩余子数据具有至少一第二数据编号。
图12是根据本发明的一范例实施例所示出的有效数据识别方法的数据编号示意图。
请参照图12,具体说明有效数据识别方法的步骤。在本范例实施例中,以可复写式非易失性存储器模块406包括依照一顺序排列的存储器子模块310~340为例进行说明。存储器子模块310具有第一区域301及第二区域302,存储器子模块320具有第一区域303及第二区域304,存储器子模块330具有第一区域305及第二区域306,存储器子模块340具有第一区域307及第二区域308。其中,第一区域301~307是使用第一程序化模式进行写入,而第二区域302~308是使用第二程序化模式进行写入。由于第一程序化模式以及第二程序化模式已详述如前,故在此不再赘述。
此外,假设存储器子模块310的第一区域301中存储有子数据DATA0~5以及子数据DATA24~DATA29。其中,子数据DATA0~5的数据编号分别为No.0~No.5且子数据DATA24~29的数据编号分别为No.24~No.29。假设存储器子模块320的第一区域303中存储有子数据DATA6~11以及子数据DATA30~DATA35。其中,子数据DATA6~11的数据编号分别为No.6~No.11且子数据DATA30~35的数据编号分别为No.30~No.35。假设存储器子模块330的第一区域305中存储有子数据DATA12~17以及子数据DATA36~DATA41。其中,子数据DATA12~17的数据编号分别为No.12~No.17且子数据DATA36~41的数据编号分别为No.36~No.41。假设存储器子模块340的第一区域307中存储有子数据DATA18~23。其中,子数据DATA18~23的数据编号分别为No.18~No.23。
此外,假设存储器子模块310的第二区域302中存储有子数据DATA0~2。其中,子数据DATA0~2的数据编号分别为No.0~No.2。假设存储器子模块320的第二区域304中存储有子数据DATA12~13。其中,子数据DATA12~13的数据编号分别为No.12~No.13。假设存储器子模块330的第二区域306中存储有子数据DATA42~43。其中,子数据DATA42~43的数据编号分别为No.42~No.43。假设存储器子模块340的第二区域308中存储有子数据DATA6~8。其中,子数据DATA6~8的数据编号分别为No.6~No.8。
当可复写式非易失性存储器模块406上电时,存储器控制电路单元404会搜寻第一区域301~307以取得一最大的数据编号(在此称为第三数据编号)。其中,此第三数据编号是大于第一区域301~307中其他的子数据的数据编号。在图12的范例实施例中,第三数据编号为子数据DATA41所对应的数据编号No.41。
此外,存储器控制电路单元404还会搜寻第二区域302~308以取得一最大的数据编号(在此称为第四数据编号)。其中,此第四数据编号是大于第二区域302~308中其他的子数据的数据编号。在图12的范例实施例中,第四数据编号为子数据DATA43所对应的数据编号No.43。
之后,存储器控制电路单元404会根据所找出的第三数据编号以及所找出的第四数据编号判断第二区域302~308中是否有存储有效数据。
具体来说,当第四数据编号大于第三数据编号时,存储器控制电路单元404会将第二区域302~308中大于第三数据编号的数据编号(也称为第五数据编号)所对应的数据识别为有效数据。举例来说,在本范例实施例中,由于第三数据编号为子数据DATA41的数据编号No.41,而在第二区域306中存有子数据DATA43且子数据DATA43的数据编号No.43大于子数据DATA41的数据编号No.41,故存储器控制电路单元404可以将第二区域302~308中对应于数据编号No.42~No.43的子数据DATA42~43识别为有效数据。
然而,当从第二区域302~308中所取得的第四数据编号小于从第一区域301~307中取得的第三数据编号时,存储器控制电路单元404会将第二区域302~308中所存储的数据识别为无效数据。
图13是根据本发明的一范例实施例所示出的有效数据识别方法的流程图。
请参照图13,在步骤S1301中,当可复写式非易失性存储器模块406上电时,存储器控制电路单元404搜寻多个存储器子模块中的第一区域中的至少一第一数据编号以取得第三数据编号,其中第三数据编号大于第一数据编号中其他的数据编号。在步骤S1303中,存储器控制电路单元404搜寻多个存储器子模块中的第二区域中的至少一第二数据编号以取得第四数据编号,其中第四数据编号大于第二数据编号中其他的数据编号。在步骤S1305中,存储器控制电路单元404根据第三数据编号以及第四数据编号判断第二区域中是否有存储有效数据。当第四数据编号大于第三数据编号时,在步骤S1307中,存储器控制电路单元404将第二区域中的第五数据编号所对应的数据识别为有效数据,其中第五数据编号大于第三数据编号。当第四数据编号小于第三数据编号时,在步骤S1309中,存储器控制电路单元404将第二区域中的数据识别为无效数据。
综上所述,本发明的数据写入方法、有效数据识别方法及存储器存储装置能够减少数据的写入(或程序化)的时间,且能够提升数据的写入效率。此外,本发明的有效数据识别方法可以在存储器存储装置重新上电后有效地识别可复写式非易失性存储器模块中所存储的有效数据。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域中技术人员,在不脱离本发明的精神和范围内,当可作些许的更改与润饰,故本发明的保护范围当视权利要求所界定者为准。

Claims (20)

1.一种数据写入方法,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括电性连接至存储器控制电路单元的多个存储器子模块,所述多个存储器子模块分别包括多个实体程序化单元,所述数据写入方法包括:
接收第一数据;
使用第一程序化模式将所述第一数据中的第一子数据写入至所述多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,其中所述第一子数据中的每一个第一子数据的大小相同于预设大小;以及
使用第二程序化模式将所述第一数据中所述第一子数据以外的剩余子数据写入至所述多个存储器子模块中的第二存储器子模块的第二实体程序化单元,其中所述剩余子数据的大小小于所述预设大小,
其中以所述第一程序化模式所程序化的实体程序化单元的存储比特数大于以所述第二程序化模式所程序化的实体程序化单元的存储的比特数;
其中所述第二存储器子模块不同于所述第一存储器子模块中最后一个用以写入所述第一子数据的第三存储器子模块。
2.根据权利要求1所述的数据写入方法,其中所述多个存储器子模块的写入顺序依照顺序排列,且在所述顺序中所述第二存储器子模块是位在所述第三存储器子模块的下一个存储器子模块。
3.根据权利要求2所述的数据写入方法,其中使用所述第一程序化模式将所述第一数据中的所述第一子数据写入至所述多个存储器子模块中的所述第一存储器子模块的所述第一实体程序化单元的步骤包括:
分别将所述第一子数据中的每一个第一子数据依照所述顺序写入至所述多个存储器子模块中的所述第一存储器子模块。
4.根据权利要求1所述的数据写入方法,其中
所述第一实体程序化单元是由多个第一存储单元所构成且在所述第一程序化模式中,构成所述第一实体程序化单元的所述多个第一存储单元之中的每一个第一存储单元存储多个比特数据,
所述第二实体程序化单元是由多个第二存储单元所构成且在所述第二程序化模式中,构成所述第二实体程序化单元的所述多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
5.根据权利要求1所述的数据写入方法,还包括:
依序对所述第一子数据以及所述剩余子数据进行编号以使得所述第一子数据具有至少一第一数据编号且所述剩余子数据具有至少一第二数据编号。
6.根据权利要求5所述的数据写入方法,还包括:
搜寻所述第一数据编号中的第三数据编号,其中所述第三数据编号大于所述第一数据编号中其他的数据编号;
搜寻所述第二数据编号中的第四数据编号,其中所述第四数据编号大于所述第二数据编号中其他的数据编号;
当所述第四数据编号大于所述第三数据编号时,将所述第二数据编号中第五数据编号所对应的数据识别为有效数据,其中所述第五数据编号大于所述第三数据编号;以及
当所述第四数据编号小于所述第三数据编号时,将所述第二数据编号所对应的数据识别为无效数据。
7.一种存储器存储装置,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储器子模块,所述多个存储器子模块分别包括多个实体程序化单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块的所述多个存储器子模块,
所述存储器控制电路单元用以接收第一数据,
所述存储器控制电路单元还用以使用第一程序化模式将所述第一数据中的第一子数据写入至所述多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,其中所述第一子数据中的每一个第一子数据的大小相同于预设大小,
所述存储器控制电路单元还用以使用第二程序化模式将所述第一数据中所述第一子数据以外的剩余子数据写入至所述多个存储器子模块中的第二存储器子模块的第二实体程序化单元,其中所述剩余子数据的大小小于所述预设大小,
其中以所述第一程序化模式所程序化的实体程序化单元的存储比特数大于以所述第二程序化模式所程序化的实体程序化单元的存储的比特数,
其中所述第二存储器子模块不同于所述第一存储器子模块中最后一个用以写入所述第一子数据的第三存储器子模块。
8.根据权利要求7所述的存储器存储装置,其中所述多个存储器子模块的写入顺序依照顺序排列,且在所述顺序中所述第二存储器子模块是位在所述第三存储器子模块的下一个存储器子模块。
9.根据权利要求8所述的存储器存储装置,其中在使用所述第一程序化模式将所述第一数据中的所述第一子数据写入至所述多个存储器子模块中的所述第一存储器子模块的所述第一实体程序化单元的运作中,
所述存储器控制电路单元分别将所述第一子数据中的每一个第一子数据依照所述顺序写入至所述多个存储器子模块中的所述第一存储器子模块。
10.根据权利要求7所述的存储器存储装置,其中
所述第一实体程序化单元是由多个第一存储单元所构成且在所述第一程序化模式中,构成所述第一实体程序化单元的所述多个第一存储单元之中的每一个第一存储单元存储多个比特数据,
所述第二实体程序化单元是由多个第二存储单元所构成且在所述第二程序化模式中,构成所述第二实体程序化单元的所述多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
11.根据权利要求7所述的存储器存储装置,其中
所述存储器控制电路单元依序对所述第一子数据以及所述剩余子数据进行编号以使得所述第一子数据具有至少一第一数据编号且所述剩余子数据具有至少一第二数据编号。
12.根据权利要求11所述的存储器存储装置,其中
所述存储器控制电路单元搜寻所述第一数据编号中的第三数据编号,其中所述第三数据编号大于所述第一数据编号中其他的数据编号,
所述存储器控制电路单元搜寻所述第二数据编号中的第四数据编号,其中所述第四数据编号大于所述第二数据编号中其他的数据编号,
当所述第四数据编号大于所述第三数据编号时,所述存储器控制电路单元将所述第二数据编号中第五数据编号所对应的数据识别为有效数据,其中所述第五数据编号大于所述第三数据编号,以及
当所述第四数据编号小于所述第三数据编号时,所述存储器控制电路单元将所述第二数据编号所对应的数据识别为无效数据。
13.一种有效数据识别方法,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括电性连接至存储器控制电路单元的多个存储器子模块,所述多个存储器子模块分别包括第一区域以及第二区域,且所述第一区域与所述第二区域分别包括多个实体程序化单元,所述有效数据识别方法包括:
当所述可复写式非易失性存储器模块上电时,搜寻所述多个存储器子模块的所述第一区域中的至少一第一数据编号以取得第三数据编号,其中所述第三数据编号大于所述第一数据编号中其他的数据编号;
搜寻所述多个存储器子模块的所述第二区域中的至少一第二数据编号以取得第四数据编号,其中所述第四数据编号大于所述第二数据编号中其他的数据编号;以及
根据所述第三数据编号以及所述第四数据编号判断所述第二区域中是否有存储有效数据。
14.根据权利要求13所述的有效数据识别方法,其中还包括:
接收第一数据;
使用第一程序化模式将所述第一数据中的第一子数据写入至所述多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,依序对所述第一子数据进行编号以使得所述第一子数据具有所述第一数据编号,其中所述第一实体程序化单元属于所述第一区域且所述第一子数据中的每一个第一子数据的大小相同于预设大小;以及
使用第二程序化模式将所述第一数据中所述第一子数据以外的剩余子数据写入至所述多个存储器子模块中的第二存储器子模块的第二实体程序化单元,依序对所述第一子数据以外的剩余子数据进行编号以使得所述剩余子数据具有所述第二数据编号,其中所述第二实体程序化单元属于所述第二区域且所述剩余子数据的大小小于所述预设大小,
其中以所述第一程序化模式所程序化的实体程序化单元的存储比特数大于以所述第二程序化模式所程序化的实体程序化单元的存储的比特数,
其中所述第二存储器子模块不同于所述第一存储器子模块中最后一个用以写入所述第一子数据的第三存储器子模块。
15.根据权利要求13所述的有效数据识别方法,其中根据所述第三数据编号以及所述第四数据编号判断所述第二区域中是否有存储所述有效数据的步骤包括:
当所述第四数据编号大于所述第三数据编号时,将所述第二区域中第五数据编号所对应的数据识别为所述有效数据,其中所述第五数据编号大于所述第三数据编号;以及
当所述第四数据编号小于所述第三数据编号时,将所述第二区域中的数据识别为无效数据。
16.根据权利要求15所述的有效数据识别方法,其中
所述第一区域的实体程序化单元是由多个第一存储单元所构成且在所述第一程序化模式中,构成所述第一区域的实体程序化单元的所述多个第一存储单元之中的每一个第一存储单元存储多个比特数据,
所述第二区域的实体程序化单元是由多个第二存储单元所构成且在所述第二程序化模式中,构成所述第二区域的实体程序化单元的所述多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
17.一种存储器存储装置,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储器子模块,所述多个存储器子模块分别包括第一区域以及第二区域,且所述第一区域与所述第二区域分别包括多个实体程序化单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块的所述多个存储器子模块,
当所述可复写式非易失性存储器模块上电时,所述存储器控制电路单元用以搜寻所述多个存储器子模块的所述第一区域中的至少一第一数据编号以取得第三数据编号,其中所述第三数据编号大于所述第一数据编号中其他的数据编号,
其中所述存储器控制电路单元还用以搜寻所述多个存储器子模块的所述第二区域中的至少一第二数据编号以取得第四数据编号,其中所述第四数据编号大于所述第二数据编号中其他的数据编号,
其中所述存储器控制电路单元还用以根据所述第三数据编号以及所述第四数据编号判断所述第二区域中是否有存储有效数据。
18.根据权利要求17所述的存储器存储装置,其中
所述存储器控制电路单元接收第一数据,
所述存储器控制电路单元使用第一程序化模式将所述第一数据中的第一子数据写入至所述多个存储器子模块中的至少一第一存储器子模块的第一实体程序化单元,依序对所述第一子数据进行编号以使得所述第一子数据具有所述第一数据编号,其中所述第一实体程序化单元属于第一区域且所述第一子数据中的每一个第一子数据的大小相同于预设大小,以及
所述存储器控制电路单元使用第二程序化模式将所述第一数据中所述第一子数据以外的剩余子数据写入至所述多个存储器子模块中的第二存储器子模块的第二实体程序化单元,依序对所述第一子数据以外的剩余子数据进行编号以使得所述剩余子数据具有所述第二数据编号,其中所述第二实体程序化单元属于第二区域且所述剩余子数据的大小小于所述预设大小,
其中以所述第一程序化模式所程序化的实体程序化单元的存储比特数大于以所述第二程序化模式所程序化的实体程序化单元的存储的比特数,
其中所述第二存储器子模块不同于所述第一存储器子模块中最后一个用以写入所述第一子数据的第三存储器子模块。
19.根据权利要求17所述的存储器存储装置,其中在根据所述第三数据编号以及所述第四数据编号判断所述第二区域中是否有存储所述有效数据的运作中,
当所述第四数据编号大于所述第三数据编号时,所述存储器控制电路单元将所述第二区域中第五数据编号所对应的数据识别为所述有效数据,其中所述第五数据编号大于所述第三数据编号,以及
当所述第四数据编号小于所述第三数据编号时,所述存储器控制电路单元将所述第二区域中的数据识别为无效数据。
20.根据权利要求17所述的存储器存储装置,其中
所述第一区域的实体程序化单元是由多个第一存储单元所构成且在所述第一程序化模式中,构成所述第一区域的实体程序化单元的所述多个第一存储单元之中的每一个第一存储单元存储多个比特数据,
所述第二区域的实体程序化单元是由多个第二存储单元所构成且在所述第二程序化模式中,构成所述第二区域的第二实体程序化单元的所述多个第二存储单元之中的每一个第二存储单元仅存储1个比特数据。
CN201810011432.0A 2018-01-05 2018-01-05 数据写入方法、有效数据识别方法及存储器存储装置 Active CN110008146B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810011432.0A CN110008146B (zh) 2018-01-05 2018-01-05 数据写入方法、有效数据识别方法及存储器存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810011432.0A CN110008146B (zh) 2018-01-05 2018-01-05 数据写入方法、有效数据识别方法及存储器存储装置

Publications (2)

Publication Number Publication Date
CN110008146A true CN110008146A (zh) 2019-07-12
CN110008146B CN110008146B (zh) 2022-11-08

Family

ID=67164568

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810011432.0A Active CN110008146B (zh) 2018-01-05 2018-01-05 数据写入方法、有效数据识别方法及存储器存储装置

Country Status (1)

Country Link
CN (1) CN110008146B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI785571B (zh) * 2021-04-22 2022-12-01 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150597A1 (en) * 2007-12-07 2009-06-11 Phison Electronics Corp. Data writing method for flash memory and controller using the same
CN103544115A (zh) * 2012-07-10 2014-01-29 群联电子股份有限公司 数据写入方法、存储器控制器与存储器存储装置
TW201423399A (zh) * 2012-12-05 2014-06-16 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
CN106484307A (zh) * 2015-08-25 2017-03-08 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
CN107402716A (zh) * 2016-05-20 2017-11-28 合肥兆芯电子有限公司 数据写入方法、内存控制电路单元与内存储存装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150597A1 (en) * 2007-12-07 2009-06-11 Phison Electronics Corp. Data writing method for flash memory and controller using the same
CN103544115A (zh) * 2012-07-10 2014-01-29 群联电子股份有限公司 数据写入方法、存储器控制器与存储器存储装置
TW201423399A (zh) * 2012-12-05 2014-06-16 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
CN106484307A (zh) * 2015-08-25 2017-03-08 群联电子股份有限公司 存储器管理方法、存储器控制电路单元及存储器存储装置
CN107402716A (zh) * 2016-05-20 2017-11-28 合肥兆芯电子有限公司 数据写入方法、内存控制电路单元与内存储存装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI785571B (zh) * 2021-04-22 2022-12-01 群聯電子股份有限公司 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置

Also Published As

Publication number Publication date
CN110008146B (zh) 2022-11-08

Similar Documents

Publication Publication Date Title
CN106681654B (zh) 映射表载入方法与存储器存储装置
CN107766257A (zh) 存储器系统及其操作方法
CN106158040B (zh) 读取电压准位估测方法、存储器存储装置及控制电路单元
CN107346213A (zh) 存储器系统及其操作方法
CN109491588A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN106681652A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
CN107590080A (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
CN106843744A (zh) 数据程序化方法与内存储存装置
CN109491828A (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN107728932A (zh) 存储器系统及其操作方法
CN107229570A (zh) 存储器装置及其操作方法
CN110532194A (zh) 存储器系统及其操作方法
CN109273033A (zh) 存储器管理方法、存储器控制电路单元与存储器存储装置
US10529426B2 (en) Data writing method, valid data identifying method and memory storage apparatus
CN110008146A (zh) 数据写入方法、有效数据识别方法及存储器存储装置
CN107305510A (zh) 数据处理方法、存储器存储装置及存储器控制电路单元
CN102436842B (zh) 存储器储存装置、存储器控制器与产生对数似然比的方法
CN109783001A (zh) 数据编码方法、数据解码方法以及存储控制器
CN108959109A (zh) 数据读取方法、存储器控制电路单元与存储器存储装置
CN108664350A (zh) 数据保护方法、存储器存储装置及存储器控制电路单元
CN107608817A (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN109710450B (zh) 数据编码方法、存储器控制电路单元与存储器存储装置
CN109508252B (zh) 数据编码方法、存储器控制电路单元与存储器存储装置
CN110008145A (zh) 数据保护方法、存储器控制电路单元与存储器存储装置
CN107025935A (zh) 译码方法、内存储存装置及内存控制电路单元

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant