数据储存装置及其数据维护方法

文档序号:10577260阅读:397来源:国知局
数据储存装置及其数据维护方法
【专利摘要】本发明提供一种数据储存装置及其数据维护方法,该装置包括一快闪存储器、一次数控制阵列以及一控制器。快闪存储器包括多个芯片,每一芯片中的每一页面以一既定排列顺序构成多个超级区块。次数控制阵列中的多个栏相应于芯片。控制器在读取芯片中的一第一芯片时,读取相应于第一芯片的一第一栏的值。当第一栏的值为一第一数值时,保持第一栏的值,并且将一第二数值写入第一栏以外次数控制阵列中的所有栏。当第一栏的值为第二数值时,将第一数值写入第一栏,并且保持第一栏以外次数控制阵列中的所有栏的数值。
【专利说明】
数据储存装置及其数据维护方法
技术领域
[0001]本发明有关于一种存储器装置的数据维护方法;特别有关于一种记录一超级区块的读取次数的数据维护方法。
【背景技术】
[0002]快闪存储器为一种普遍的非挥发性数据储存装置,以电性方式抹除与程序化。以与非门型的快闪存储器(即NAND FLASH)为例,常用作记忆卡(memory card)、通用序列总线闪存装置(USB flash device)、固态硬盘(SSD)、嵌入式快闪存储器模组(eMMC)…等使用。
[0003]快闪存储器(如,NAND FLASH)的储存阵列包括多个区块(blocks)。各区块包括多个页面(pages),其中在快闪存储器中数据写入的单位是页面,数据抹除的最小单位为区块。由于快闪存储器的存取过程中对同一页面或者同一区块反复存取,可能会发生数据内容的错误。所以需要一种数据维护方法来避免对快闪存储器中相同的页面或者区块读取太多次。

【发明内容】

[0004]本发明所提供的数据储存装置可将以及数据维护方法可降低超级区块的读取次数的累加,以减少不必要的更新动作。
[0005]本发明提供一种数据储存装置。数据储存装置包括一快闪存储器、多个次数控制阵列以及一控制器。快闪存储器包括多个芯片,多个通道选择线,以及多个芯片选择线,其中每一芯片包括多个页面,并且芯片构成一矩阵,通道选择线用选择矩阵中的行,芯片选择线用以选择矩阵中的列,每一芯片中的每一页面以一既定排列顺序构成多个超级区块,并且每一超级区块包括不同芯片的不同页面。每一次数控制阵列包括多个栏,次数控制阵列分别相应于超级区块,栏分别相应于芯片选择线以及通道选择线芯片的多个组合,并且组合分别相应于芯片。控制器用以在读取超级区块中的一第一超级区块中芯片中的一第一芯片的数据时,读取次数控制阵列中相应于第一超级区块的一第一次数控制阵列,以获得第一次数阵列中相应于第一芯片的一第一栏的值,其中当第一栏的值为一第一数值时,保持第一栏的值,并且将一第二数值写入第一栏以外第一次数控制阵列中的所有栏,当第一栏的值为第二数值时,将第一数值写入第一栏,并且保持第一栏以外第一次数控制阵列的所有栏的数值。
[0006]在一实施例中,超级区块分别相应于多个读取次数,控制器还用以在第一栏的值为第一数值时,将读取次数中相应于第一超级区块的一第一读取次数加一,并且在第一栏的值为第二数值时,保持第一读取次数的数值。
[0007]在另一实施例中数据储存装置还包括一读取次数阵列,用以记录每一超级区块的读取次数。当读取次数超过一既定值时,控制器更新相应于超过既定值的读取次数的超级区块。
[0008]又另一实施例中,控制器还用以初始化次数控制阵列,以将第一数值写入次数控制阵列中的每一栏。次数控制阵列是设置于快闪存储器中。
[0009]本发明提供另一种数据储存装置。数据储存装置包括一快闪存储器、多个次数控制阵列以及一控制器。快闪存储器包括多个芯片,每一芯片包括多个页面,每一芯片中的每一页面以一既定排列顺序构成多个超级区块,并且每一超级区块包括不同芯片的不同页面。
[0010]多个次数控制阵列,每一次数控制阵列包括多个栏,每一次数控制阵列相应于一个超级区块,栏分别相应于一个芯片。控制器用以在读取超级区块中的一第一超级区块中芯片中的一第一芯片的数据时,读取相应于第一超级区块的次数控制阵列中的一第一次数控制阵列,以获得第一次数控制阵列的栏中相应于第一芯片的一第一栏的值,其中当第一栏的值为一第一数值时,保持第一栏的值,并且将一第二数值写入第一栏以外第一次数控制阵列中的所有栏,当第一栏的值为第二数值时,将第一数值写入第一栏,并且保持第一栏以外第一次数控制阵列中的所有栏的数值。
[0011]本发明另提供一种数据维护方法,适用于一数据储存装置,其中数据储存装置具有多个芯片,每一芯片包括多个页面,每一芯片中的每一页面以一既定排列顺序构成多个超级区块,并且每一超级区块包括不同芯片的不同页面。数据维护方法包括:读取多个超级区块中的一第一超级区块中芯片中的一第一芯片的数据时,读取多个次数控制阵列中相应于第一超级区块的一第一次数控制阵列,以获得第一次数控制阵列中的多个栏中相应于第一芯片的一第一栏的值,其中次数控制阵列分别相应于超级区块,次数控制阵列中的每一栏分别相应于一个芯片;当第一栏的值为一第一数值时,保持第一栏的值,并且将一第二数值写入第一栏以外第一次数控制阵列中的所有栏;以及当第一栏的值为第二数值时,将第一数值写入第一栏,并且保持第一栏以外第一次数控制阵列中的所有栏的数值。
[0012]在一实施例中,快闪存储器还包括多个通道选择线以及多个芯片选择线,芯片构成一矩阵,通道选择线用以选择矩阵中数据行,芯片选择线用以选择矩阵中的列,每一栏相应于芯片选择线以及通道选择线的多个组合,并且每一组合相应于芯片中之一者。
[0013]又另一实施例中,超级区块分别相应于多个读取次数,并且数据维护方法还包括在第一栏的值为第一数值时,将读取次数中相应于第一超级区块的一第一读取次数加一,并且在第一栏的值为第二数值时,保持第一读取次数的数值。
[0014]数据维护方法可还包括当读取次数超过一既定值时,更新超级区块。数据维护方法亦可还包括初始化次数控制阵列,以将第一数值写入次数控制阵列中的每一栏。
【附图说明】
[0015]图1是本发明的一种实施例的电子系统的方块图。
[0016]图2A?2B是本发明的一种实施例的快闪存储器的示意图。
[0017]图3是本发明的一种实施例的超级区块的示意图。
[0018]图4是本发明的一种实施例的次数控制阵列的示意图。
[0019]图5是本发明的一种实施例的次数控制阵列的操作的示意图。
[0020]图6是本发明的另一种实施例的次数控制阵列的操作的示意图。
[0021 ]图7是本发明的一种实施例的数据维护方法的流程图。
[0022]符号说明
[0023]100电子系统;
[0024]120 主机;
[0025]140数据储存装置;
[0026]160 控制器;
[0027]162运算单元;
[0028]164永久存储器;
[0029]166动态随机存取器;
[0030]180快闪存储器;
[0031]CO?CN 芯片;
[0032]CHO?CH3通道选择线;
[0033]CEO?CE3芯片选择线;
[0034]C0_P0?C0_PM、C1_P0?C1_PM、C2_P0?C2_PM、C3_P0?C3_PM、C4_P0?C4_PM、C5_PO?C5_PM、C6_P0?C6_PM、C7_P0?C7_PM、C8_P0?C8_PM、C9_P0?C9_PM、C10_P0?C10_PM、C11_P0?C11_PM、C0_P0?C0_PM、C0_P0?C0_PM、C12_P0?C12_PM、C13_P0?C13_PM 页面;
[0035]SBUSB2 超级区块;
[0036]SPO?SPK-1超级页面;
[0037]S700?S716 步骤。
【具体实施方式】
[0038]以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。
[0039]图1是本发明的一种实施例的电子系统的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机120所下达的命令操作。
[0040]控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM) 164以及一动态随机存取器(RAM) 166。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180,其中运算单元162还用以将快闪存储器180中的页面重组为至少一超级区块(Super Block)。
[0041 ] 快闪存储器180包括多个芯片CO?CN,每一芯片CO?CN中包括多个页面。每一芯片CO-CN包括多个页面,每一芯片CO-CN中的每一页面以一既定排列顺序构成至少一超级区块SB。换言之,每一超级区块包括不同芯片CO?CN的不同页面。另外,快闪存储器180还包括多个通道选择线以及多个芯片选择线。芯片CO?CN构成一矩阵,通道选择线用以选择矩阵中的行,芯片选择线用以选择矩阵中的列。
[0042]举例而言,图2A?2B是本发明的一种实施例的快闪存储器的示意图。在本实施例中,快闪存储器180包括16个芯片CO?C15。每一芯片CO?C15包括多个页面,其中芯片CO包括多个页面C0_P0?C0_PM、芯片Cl包括多个页面C1_P0?C1_PM、芯片C2包括多个页面C2_P0?C2_PM,依此类推。快闪存储器180还包括4条通道选择线CHO?CH3以及4条芯片选择线CEO?CE3。如图2A?2B所示,芯片CO?C15构成一矩阵,通道选择线CHO?CH3用以选择矩阵中的行,芯片选择线CEO?CE3用以选择矩阵中的列。详细而言,通道选择线CHO用以选择在矩阵中第一行上的芯片C0、C4、C8以及C12,通道选择线CHl用以选择在矩阵中第二行上的芯片(:1工5、09以及(:13、通道选择线012用以选择在矩阵中第三行上的芯片02工6、(:10以及(:14、通道选择线CH3用以选择在矩阵中第四行上的芯片C3、C7、C11以及C15。另外,芯片选择线CEO用以选择矩阵中第一列上的芯片CO?C3、芯片选择线CEl用以选择矩阵中第二列上的芯片C4?C7、芯片选择线CE2用以选择矩阵中第三列上的芯片C8?C11、以及芯片选择线CE3用以选择矩阵中第四列上的芯片C12?C15。换言之,当控制器160要对芯片ClO进行存取时,快闪存储器180则藉由通道选择线CH2以及芯片选择线CE2选择芯片C10,依此类推。在另一实施例中,快闪存储器180亦可包括32个芯片、4条通道选择线以及8条芯片选择线,但本发明不限于此。
[0043]图3是本发明的一种实施例的超级区块的示意图。图3是本发明的一种实施例的超级区块的示意图,其中图3是由图2A?2B所示的快闪存储器180中的16个芯片CO-C15中的每一页面以一既定排列顺序,以构成两个超级区块SBl以及SB2,但本发明不限于此。在其他实施例中,经由下述规则,快闪存储器180中的16个芯片C0-C15中的每一页面以该既定排列顺序,亦可构成两个以上的超级区块。如图所示,既定排列顺序为依序排列每一芯片CO-CN中位于顶端的一第一页面PO以构成第一超级区块SBl的第一超级页面SP0,依序排列每一芯片CO-CN中次于第一页面的一第二页面P2以构成第一超级区块SBl的第二超级页面SPl,直到依序排列每一芯片CO-CN中的第K-1个页面PK-1以构成第一超级区块SBl的最后一个超级页面SPK-1。接着,既定排列顺序继续依序排列每一芯片CO-CN中第K个页面PK以构成第二超级区块SB2的第一超级页面SPO,依序排列每一芯片CO-CN中的第K+1个页面PK+1以构成第二超级区块SB2的第二超级页面SPl,直到依序排列每一芯片CO-CN中的最后一个页面PM以构成第二超级区块SB2的最后一个超级页面SPK-1。在本实施例中,第一超级区块SBl以及第二超级区块SB2中的超级页面SPO?SPK-1的数量相同,并且每一超级页面SPO?SPK-1由多个个页面所构成,但本发明不限于此。在其他实施例中,每一超级区块的超级页面的数量可不相同,并且第一超级区块SBl以及第二超级区块SB2亦可由不同的排列方式所构成。
[0044]另外,数据储存装置140还具有多个次数控制阵列(未图示),用以记录芯片CO?CN的读取状态。在一实施例中,次数控制阵列是设置于快闪存储器180中,但本发明不限于此。在其他实施例中,次数控制阵列亦可设置于永久存储器164中。次数控制阵列分别用以记录每一芯片CO?CN的读取状态,并且每一次数控制阵列相应于一超级区块。另外,每一次数控制阵列包括多个栏,每一栏分别相应于一个芯片CO?CN。控制器160可将次数控制阵列由快闪存储器180或者永久存储器164中载入动态随机存取器166中操作。
[0045]图4是本发明的一种实施例的次数控制阵列的示意图。在本实施例中,次数控制阵列RCAl对应于图3所示的第一超级区块SBl,用以记录芯片CO?C15的读取状态,但本发明不限于此。值得注意的是,其他超级区块的次数控制阵列亦可参照次数控制阵列RCA1。次数控制阵列RCAl包括16个栏,每一栏分别相应于一个芯片CO?C15。换言之,多个栏相应于芯片选择线CEO?CE3以及通道选择线CHO?CH3的多个组合CE0_CH0?CE3_CH_3,并且每一组合CE0_CH0?CE3_CH_3相应于可藉由该组合CE0_CH0?CE3_CH_3所选取的芯片CO?Cl 5。
[0046]另外,数据储存装置140还具有一读取次数阵列(未图示),用以记录每一超级区块的读取次数。在一实施例中,读取次数阵列是设置于快闪存储器180中,但本发明不限于此。在其他实施例中,读取次数阵列亦可设置于永久存储器164中。控制器160可将读取次数阵列由快闪存储器180或者永久存储器164中载入动态随机存取器166中,并且根据次数控制阵列维持读取次数阵列中的读取次数。
[0047]详细而言,数据储存装置140可藉由次数控制阵列来控制超级区块被更新的次数。在某些实施例中,为了防止由于过多的读取次数对于存储器所储存的数据的破坏,控制器160会在每一芯片选择线以及每一通道选择线被致能时,皆对读取次数阵列中相应的所读取的超级区块的读取次数加一,以计算超级区块被读取的次数。举例而言,当控制器160对只有对第一超级区块SBl中的一超级页面SPO读取一次时,相应于超级区块SBl的读取次数则会因为超级页面SPO包含16个由不同的通道选择线以及芯片选择线所选取的页面,而增加16。当读取次数超过一既定值时,控制器160则将超级区块的数据搬移至另一超级区块,以更新读取次数超过既定值得超级区块。然而,在上述记录读取次数的方式中,读取次数很容易超过既定值。因此,控制器160会消耗很多资源在更新超级区块,使得表现降低。在本实施例中,140可藉由次数控制阵列来降低超级区块被更新的次数。
[0048]详细而言,控制器160初始化次数控制阵列,以将第一数值写入次数控制阵列中的每一栏。值得注意的是,控制器160只需要在超级区块刚被更新或者刚建立时,才需要初始化次数控制阵列,但本发明不限于此。使用者亦可在其他状况下初始化次数控制阵列。接着,控制器160用以在读取一第一超级区块中芯片CO?CN中的一第一芯片的数据时,读取多个次数控制阵列中相应于第一超级区块的一第一次数控制阵列,以获得第一次数控制阵列中相应于第一芯片的一第一栏的值。当第一栏的值为一第一数值时,控制器160保持第一次数控制阵列的第一栏的值,并且将一第二数值写入第一栏以外第一次数控制阵列中的其他所有栏。当第一栏的值为第二数值时,控制器160将第一数值写入第一次数控制阵列的第一栏,并且保持第一栏以外第一次数控制阵列中的其他所有栏的数值。值得注意的是,控制器160还用以在第一栏的值为第一数值时,将读取次数阵列中相应于第一超级区块的第一读取次数加一,并且在第一栏的值为第二数值时,保持读取次数阵列中相应于第一超级区块的第一读取次数的数值。另外,当读取次数超过一既定值时,控制器160则更新相应于超过既定值的读取次数的超级区块,以将相应于超过既定值的读取次数的超级区块的数据搬移至另一超级区块。
[0049]图5是本发明的一种实施例的次数控制阵列的操作的示意图。在本实施例中,次数控制阵列RCAl是对应于图3所示的第一超级区块SBl,用以记录芯片CO?C15的读取状态,但本发明不限于此。值得注意的是,其他超级区块的次数控制阵列亦可参照次数控制阵列RCAl。另外,在本实施例中,控制器160用以依序地读取超级区块SB中的数据。被初始化的次数控制阵列RCAl中的每一栏皆是第一数值” I”,如第一时间Tl上的次数控制阵列RCAl所示。
[0050]首先,控制器160读取第一超级区块SBl中第一超级页面SPO中的页面C0_P0的数据。控制器160所读取的页面C0_P0在由芯片选择线CEO以及通道选择线CHO所选择的芯片CO中,故控制器160读取相应于芯片CO的栏CE0_CH0中的值。在本实施例中,如第一时间Tl上的栏CE0_CH0所示,控制器160所读取的栏CE0_CH0的值为第一数值” I”。因此,控制器160保持栏CE0_CH0的值,并且将第二数值”O”写入栏CE0_CH0以外次数控制阵列RCAl中的其他所有栏CE0_CH1?CE3_CH3,如第二时间T2上的次数控制阵列RCAl所示。另外,由于控制器160所读取的栏CE0_CH0的值为第一数值” I”,故控制器160将读取次数阵列中相应于第一超级区块SBl的第一读取次数加一。
[0051]接着,控制器160读取第一超级区块SBl中第一超级页面SPO中的页面C1_P0的数据。控制器160所读取的页面C1_P0在由芯片选择线CEO以及通道选择线CHl所选择的芯片Cl中,故控制器160读取相应于芯片Cl的栏CE0_CH1中的值。在本实施例中,如第二时间T2上的栏CE0_CH1所示,控制器160所读取的栏CE0_CH1的值为第二数值”0”。因此,控制器160将第一数值” I”写入栏CE0_CH1,并且保持栏CE0_CH1以外次数控制阵列RCAl中的所有栏CE0_CH0以及CE0_CH2?CE3_CH3的数值,如第三时间T3上的次数控制阵列RCAl所示。另外,由于控制器160所读取的栏CE0_CH1的值为第二数值”O”,故控制器160保持读取次数阵列上相应于第一超级区块的第一读取次数的数值,依此类推。
[0052 ]当控制器160依序读取完芯片CO?C15时,次数控制阵列RCAI中的所有栏CE0_CH0?CE3_CH3的数值皆是第一数值” I”,如第十七时间T17上的次数控制阵列RCAl所示。值得注意的是,在时间T2?T17之间,读取次数的数值皆未增加。换言之,在读取第一超级页面SPO的过程中,第一超级区块SBl的第一读取次数只会增加I。
[0053]当控制器160接着读取第一超级区块SBl中的第二超级页面SPl中的页面C0_P1的数据。控制器160所读取的页面C0_P1在由芯片选择线CEO以及通道选择线CHO所选择的芯片CO中,故控制器160再次读取相应于芯片CO的栏CE0_CH0中的值。在本实施例中,如第十七时间T17上的栏CE0_CH0所示,控制器160所读取的栏CE0_CH0的值为第一数值” I”。因此,控制器160保持栏CE0_CH0的值,并且将第二数值” O”写入栏CE0_CH0以外次数控制阵列RCAl中的其他所有栏CE0_CH1?CE3_CH3,如第十八时间T18上的次数控制阵列RCAl所示。另外,由于控制器160所读取的栏CE0_CH0的值为第一数值” I”,故控制器160将读取次数阵列中相应于第一超级区块SBl的第一读取次数加一。
[0054]由上述可知,在控制器160依序读取芯片CO?C15的状况下,第一超级区块SBl的第一读取次数只会增加I。因此,控制器160可藉由次数控制阵列RCAl有效地记录超级区块SB的读取次数。另外,在本实施例中,第一数值为” I”,并且第二数值为” O”,但本发明不限于此。在其他实施例中,第一数值为”O”,并且第二数值为” I”,但本发明不限于此。再者,在本实施例中,每一栏仅需要I位元的存储器容量。换言之,16个芯片所构成的超级区块仅需要16位元,32个芯片所构成的超级区块只需要32位元,依此类推。
[0055]图6是本发明的另一种实施例的次数控制阵列的操作的示意图。在本实施例中,次数控制阵列RCAl是对应于图3所示的第一超级区块SBl,用以记录芯片CO?C15的读取状态,但本发明不限于此。值得注意的是,其他超级区块的次数控制阵列亦可参照次数控制阵列RCA1。另外,在本实施例中,控制器160用以随机地读取超级区块SB中的数据。被初始化的次数控制阵列RCAl中的每一栏皆是第一数值” I”,如第一时间Tl上的次数控制阵列RCAl所示。
[0056]首先,控制器160读取第一超级区块SBl中第一超级页面SPO中的页面C2_P0的数据。控制器160所读取的页面C2_P0在由芯片选择线CEO以及通道选择线CH2所选择的芯片C02中,故控制器160读取相应于芯片C2的栏CE0_CH2中的值。在本实施例中,如第一时间Tl上的栏CE0_CH2所示,控制器160所读取的栏CE0_CH0的值为第一数值” I”。因此,控制器160保持栏CE0_CH2的值,并且将第二数值” O”写入栏CE0_CH2以外次数控制阵列RCAl中的其他所有栏CE0_CH0?CE0_CH1以及CE0_CH3?CE3_CH3,如第二时间T2上的次数控制阵列RCAl所示。另外,由于控制器160所读取的栏CE0_CH0的值为第一数值” I”,故控制器160将读取次数阵列中相应于第一超级区块SBl的第一读取次数加一。
[0057]接着,控制器160读取第一超级区块SBl中第三超级页面SP2中的页面C14_P2的数据。控制器160所读取的页面C14_P2在由芯片选择线CE3以及通道选择线CH2所选择的芯片C14中,故控制器160读取相应于芯片C14的栏CE3_CH2中的值。在本实施例中,如第二时间T2上的栏CE3_CH2所示,控制器160所读取的栏CE3_CH2的值为第二数值” O”。因此,控制器160将第一数值”1”写入栏CE3_CH2,并且保持栏CE3_CH2以外次数控制阵列RCAl中的所有栏CE0_CH0?CE3_CH1以及CE3_CH3的数值,如第三时间T3上的次数控制阵列RCAl所示。另外,由于控制器160所读取的栏CE3_CH2的值为第二数值”O”,故控制器160保持次数读取阵列中相应于第一超级区块的第一读取次数的数值。
[0058]当控制器160在随机的状况下,又读取了一次芯片C14。例如,控制器160读取第一超级区块SBl中第二超级页面SPl中的页面C14_P1的数据。控制器160所读取的页面C14_P1在由芯片选择线CE3以及通道选择线CH2所选择的芯片C14中,故控制器160读取相应于芯片C14的栏CE3_CH2中的值。在本实施例中,如第三时间T3上的栏CE3_CH2所示,控制器160所读取的栏CE3_CH2的值为第一数值”1”。因此,控制器160保持栏CE3_CH2的值,并且将第二数值”0”写入栏CE3_CH2以外次数控制阵列RCAl中的其他所有栏CE0_CH0?CE3_CH1以及CE3_CH3,如第四时间T4上的次数控制阵列RCAl所示。另外,由于控制器160所读取的栏CE3_CH2的值为第一数值” I”,故控制器160将读取阵列中相应于第一超级阵列SBl的第一读取次数加一。
[0059]由上述可知,在控制器160在随机读取芯片CO?C15的状况下,只有在重复读到同一个芯片时读取次数才会增加I。否则,读取次数也只会等到读完所有芯片CO?C15—次后,才会增加I。因此,控制器160亦可藉由次数控制阵列RCAl减少超级区块的无效的读取次数。另外,在本实施例中,第一数值为” I”,并且第二数值为” O”,但本发明不限于此。在其他实施例中,第一数值为” O”,并且第二数值为” I”,但本发明不限于此。再者,在本实施例中,每一栏仅需要I位元的存储器容量。
[0060]图7是本发明的一种实施例的数据维护方法的流程图。数据维护方法适用于图1所示的数据储存装置140中。数据储存装置140具有多个次数控制阵列(未图示)以及一读取次数阵列。在一实施例中,次数控制阵列以及读取次数阵列是设置于快闪存储器180中,但本发明不限于此。在其他实施例中,次数控制阵列以及读取次数阵列亦可设置于永久存储器164中。次数控制阵列用以记录每一芯片CO?CN的读取状态,并且每一次数控制阵列相应于一超级区块。读取次数阵列用以记录每一超级区块的读取次数。另外,每一次数控制阵列包括多个栏,每一栏分别相应于一个芯片CO?CN。流程开始于步骤S700。
[0061 ]在步骤S700中,控制器160初始化次数控制阵列,以将第一数值写入次数控制阵列中的每一栏。值得注意的是,控制器160只需要在超级区块刚被更新或者刚建立时,才需要初始化次数控制阵列,但本发明不限于此。使用者亦可在其他状况下初始化次数控制阵列。换言之,当超级区块的次数控制阵列已初始化后,步骤S700则可不被执行。
[0062]接着,在步骤S702中,控制器160判断是否接收到一读取命令。当控制器160接收到读取命令时,流程进行至步骤S703,否则,流程会到步骤S700,控制器160继续判断是否接收到读取命令。值得注意的是,读取命令相应于对一页面进行读取的命令。控制器160可根据自主机120所接收到的一较长的读取命令,产生多个相应于一个页面的读取命令,以依序根据多个所产生的读取命令对快闪存储器180中的页面进行读取,但本发明不限于此。
[0063]在步骤S704中,控制器160根据读取命令,读取一第一超级区块中芯片CO?CN中的一第一芯片CO?CN的数据,并且读取相应于所读取的第一超级区块的一第一次数控制阵列中相应于第一芯片CO?CN的栏中的一第一栏的值。
[0064]接着,在步骤S706中,控制器160判断所读取的第一栏的值为第一数值或者第二数值。在一实施例中,第一数值为” I”,并且第二数值为” O”,但本发明不限于此。在其他实施例中,第一数值为”O”,并且第二数值为” I”,但本发明不限于此。值得注意的是,在本实施例中,每一栏仅需要I位元的存储器容量。当所读取的第一栏的值为第一数值时,流程进行至步骤S708。当所读取的第一栏的值为第二数值时,流程进行至步骤S712。
[0065]在步骤S708中,控制器160保持第一栏的值,并且将第二数值写入第一栏以外第一次数控制阵列中的所有其他栏。
[0066]接着,在步骤S710中,控制器160将用以将读取阵列中相应于第一超级区块的一第一读取次数加一。
[0067]在步骤S712中,控制器160将第一数值写入第一栏,并且保持第一栏以外第一次数控制阵列中的所有其他栏的数值。
[0068]接着,在步骤S714中,控制器160判断第一读取次数是否超过一既定值。当第一读取次数超过既定值时,流程进行至步骤S716。否则,流程回到步骤S702。
[0069]在步骤S716中,控制器160更新第一超级区块。接着,流程回到步骤S702。值得注意的是,在其他实施例中,步骤S714以及步骤S716可在其他特定时间点进行,不限于在整理完次数控制阵列后,马上进行。
[0070]本发明所提供的数据储存装置140可将以及数据维护方法可降低超级区块的读取次数的累加,以减少不必要的更新动作。
[0071]本发明的方法,或特定型态或其部份,可以以程序码的型态存在。程序码可储存于实体媒体,如软碟、光碟片、硬碟、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可透过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。
[0072]以上所述,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,SP凡依本发明申请专利范围及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或申请专利范围不须达成本发明所揭示的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。
【主权项】
1.一种数据储存装置,包括: 一快闪存储器,包括多个芯片,多个通道选择线,以及多个芯片选择线,其中每一芯片包括多个页面,并且上述芯片构成一矩阵,上述通道选择线用选择上述矩阵中的行,上述芯片选择线用以选择上述矩阵中的列,每一上述芯片中的每一上述页面以一既定排列顺序构成多个超级区块,并且每一上述超级区块包括不同上述芯片的不同上述页面; 多个次数控制阵列,每一上述次数控制阵列包括多个栏,上述次数控制阵列分别相应于上述超级区块,上述栏分别相应于上述芯片选择线以及上述通道选择线上述芯片的多个组合,并且上述组合分别相应于上述芯片;以及 一控制器,用以在读取上述超级区块中的一第一超级区块中上述芯片中的一第一芯片的数据时,读取上述次数控制阵列中相应于上述第一超级区块的一第一次数控制阵列,以获得上述第一次数阵列中相应于上述第一芯片的一第一栏的值,其中当上述第一栏的值为一第一数值时,保持上述第一栏的值,并且将一第二数值写入上述第一栏以外上述第一次数控制阵列中的所有上述栏,当上述第一栏的值为上述第二数值时,将上述第一数值写入上述第一栏,并且保持上述第一栏以外上述第一次数控制阵列的所有上述栏的数值。2.根据权利要求1所述的数据储存装置,其特征在于,上述超级区块分别相应于多个读取次数,上述控制器还用以在上述第一栏的值为上述第一数值时,将上述读取次数中相应于上述第一超级区块的一第一读取次数加一,并且在上述第一栏的值为上述第二数值时,保持上述第一读取次数的数值。3.根据权利要求2所述的数据储存装置,其特征在于,还包括一读取次数阵列,用以记录每一上述超级区块的上述读取次数。4.根据权利要求2所述的数据储存装置,其特征在于,当上述读取次数超过一既定值时,上述控制器更新相应于超过上述既定值的上述读取次数的上述超级区块。5.根据权利要求1所述的数据储存装置,其特征在于,上述控制器还用以初始化上述次数控制阵列,以将上述第一数值写入上述次数控制阵列中的每一上述栏。6.根据权利要求1所述的数据储存装置,其特征在于,上述次数控制阵列是设置于上述快闪存储器中。7.—种数据储存装置,包括: 一1决闪存储器,包括多个芯片,每一芯片包括多个页面,每一上述芯片中的每一上述页面以一既定排列顺序构成多个超级区块,并且每一上述超级区块包括不同上述芯片的不同上述页面; 多个次数控制阵列,每一上述次数控制阵列包括多个栏,每一上述次数控制阵列相应于一个上述超级区块,上述栏分别相应于一个上述芯片;以及 一控制器,用以在读取上述超级区块中的一第一超级区块中上述芯片中的一第一芯片的数据时,读取相应于上述第一超级区块的上述次数控制阵列中的一第一次数控制阵列,以获得上述第一次数控制阵列的上述栏中相应于上述第一芯片的一第一栏的值,其中当上述第一栏的值为一第一数值时,保持上述第一栏的值,并且将一第二数值写入上述第一栏以外上述第一次数控制阵列中的所有上述栏,当上述第一栏的值为上述第二数值时,将上述第一数值写入上述第一栏,并且保持上述第一栏以外上述第一次数控制阵列中的所有上述栏的数值。8.根据权利要求7所述的数据储存装置,其特征在于,上述快闪存储器还包括多个通道选择线以及多个芯片选择线,上述芯片构成一矩阵,上述通道选择线用以选择上述矩阵中的行,上述芯片选择线用以选择上述矩阵中的列,每一上述栏相应于上述芯片选择线以及上述通道选择线的多个组合,并且每一组合相应于上述芯片中之一者。9.根据权利要求7所述的数据储存装置,其特征在于,上述超级区块分别相应于多个读取次数,上述控制器更用以在上述第一栏的值为上述第一数值时,将上述读取次数中相应于上述第一超级区块的一第一读取次数加一,并且在上述第一栏的值为上述第二数值时,保持上述第一读取次数的数值。10.根据权利要求9所述的数据储存装置,还包括一读取次数阵列,用以记录每一上述超级区块的上述读取次数。11.根据权利要求9所述的数据储存装置,其特征在于,当上述读取次数超过一既定值时,上述控制器更新相应于超过上述既定值的上述读取次数的上述超级区块。12.根据权利要求7所述的数据储存装置,其特征在于,上述控制器还用以初始化上述次数控制阵列,以将上述第一数值写入上述次数控制阵列中的每一上述栏。13.根据权利要求1所述的数据储存装置,其特征在于,上述次数控制阵列是设置于上述快闪存储器中。14.一种数据维护方法,适用于一数据储存装置,其中上述数据储存装置具有多个芯片,每一芯片包括多个页面,每一上述芯片中的每一上述页面以一既定排列顺序构成多个超级区块,并且每一上述超级区块包括不同上述芯片的不同上述页面,上述数据维护方法包括: 读取上述多个超级区块中的一第一超级区块中上述芯片中的一第一芯片的数据时,读取多个次数控制阵列中相应于上述第一超级区块的一第一次数控制阵列,以获得上述第一次数控制阵列中的多个栏中相应于上述第一芯片的一第一栏的值,其中上述次数控制阵列分别相应于上述超级区块,上述次数控制阵列中的每一上述栏分别相应于一个上述芯片; 当上述第一栏的值为一第一数值时,保持上述第一栏的值,并且将一第二数值写入上述第一栏以外上述第一次数控制阵列中的所有上述栏;以及 当上述第一栏的值为上述第二数值时,将上述第一数值写入上述第一栏,并且保持上述第一栏以外上述第一次数控制阵列中的所有上述栏的数值。15.根据权利要求14所述的数据维护方法,其特征在于,上述快闪存储器还包括多个通道选择线以及多个芯片选择线,上述芯片构成一矩阵,上述通道选择线用以选择上述矩阵中的行,上述芯片选择线用以选择上述矩阵中的列,每一上述栏相应于上述芯片选择线以及上述通道选择线的多个组合,并且每一组合相应于上述芯片中之一者。16.根据权利要求14所述的数据维护方法,其特征在于,上述超级区块分别相应于多个读取次数,并且上述数据维护方法还包括在上述第一栏的值为上述第一数值时,将上述读取次数中相应于上述第一超级区块的一第一读取次数加一,并且在上述第一栏的值为上述第二数值时,保持上述第一读取次数的数值。17.根据权利要求16所述的数据维护方法,其特征在于,还包括当上述读取次数超过一既定值时,更新上述超级区块。18.根据权利要求15所述的数据维护方法,其特征在于,还包括初始化上述次数控制阵列,以将上述第一数值写入上述次数控制阵列中的每一上述栏。19.根据权利要求15所述的数据储存装置,其特征在于,上述次数控制阵列是设置于上述快闪存储器中。
【文档编号】G06F3/06GK105938419SQ201510901302
【公开日】2016年9月14日
【申请日】2015年12月9日
【发明人】陈冠霖, 郭武吉
【申请人】慧荣科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1