固态存储装置及其相关读取控制方法与流程

文档序号:11098110阅读:570来源:国知局
本发明涉及一种固态存储装置及其控制方法,且特别涉及一种固态存储装置及其相关读取控制方法。
背景技术
::众所周知,固态存储装置(solidstatedevice)已经非常广泛的应用于各种电子产品,例如SD卡、固态硬盘等等。一般来说,固态存储装置是由控制电路以及非易失性存储器(non-volatilememory)组合而成。再者,非易失性存储器是利用与非门快闪存储器(NANDflashmemory)所组成。而根据每个晶胞(cell)所存储的数据量,快闪存储器可进一步区分为每个晶胞存储一位的单层晶胞(Single-LevelCell,简称SLC)快闪存储器、每个晶胞存储二位的多层晶胞(Multi-LevelCell,简称MLC)快闪存储器与每个晶胞存储三位的三层晶胞(Triple-LevelCell,简称TLC)快闪存储器。请参照图1,其所绘示为固态存储装置示意图。固态存储装置10经由一外部总线12连接至主机(host)14,其中外部总线12可为USB总线、SATA总线、PCIe总线等等。再者,固态存储装置10中包括一控制电路101与一非易失性存储器105。其中,控制电路101经由一内部总线107连接至非易失性存储器105,用以根据主机14所发出的命令将接收的写入数据存入非易失性存储器105,或者由非易失性存储器105中取得读取数据并传递至主机14。再者,控制电路101中还包括一错误校正单元(简称ECC单元)104与一重试表(retrytable)106。错误校正单元104可用来更正读取数据中的错误位(errorbits),并且在更正完成后将正确的读取数据传递至主机14。另外,当错误校正单元104无法成功地校正所有的错误位时,则无法输出读取数据至主机14。此时,重试表106将提供其他的读取电压(readvoltage),使控制电路101采用其他的读取电压来对非易失性存储器105进行读取重试(readretry)。请参照图2A,其所绘示为固态存储装置中非易失性存储器的晶胞排列示意图。非易失性存储器105由多个晶胞排列成一存储器阵列(memoryarray), 而每个晶胞内包括一个浮动栅晶体管(floatinggatetransistor)。再者,利用字线(wordline)WL(n-1)、WL(n)、WL(n+1)即可控制一行(row)的晶胞,而根据一选定行(selectedrow)中个别晶胞内浮动栅晶体管的开启(turnon)与关闭(turnoff),即可决定晶胞的存储状态。另外,此晶胞可为SLC、MLC或者TLC快闪存储器。基本上,浮动栅晶体管中的浮动栅(floatinggate)可以存储热载子(hotcarrier),而根据热载子存储量的多寡可决定该浮动栅晶体管的临限电压(thresholdvoltage,简称VTH)。也就是说,具有较高的临限电压的浮动栅晶体管需要较高的栅极电压(gatevoltage)来开启(turnon)浮动栅晶体管;反之,具有较低的临限电压的浮动栅晶体管则可以用较低的栅极电压来开启浮动栅晶体管。因此,在固态存储装置的编程周期(programcycle)时,利用控制电路101控制注入浮动栅的热载子量,即可改变其临限电压。而在读取周期(readcycle)时,固态存储装置10中的控制电路101提供读取电压至浮动栅晶体管的栅极,并根据浮动栅晶体管是否能被开启(turnon)来判断其存储状态。请参照图2B,其所绘示为MLC快闪存储器中的存储状态与临限电压关系示意图。基本上,MLC快闪存储器的一个晶胞可以根据不同的热载子注入量而呈现四个存储状态E、A、B、C。在未注入热载子时,晶胞可视为存储状态E,而随着热载子注入的量的多寡,可再区分为A、B、C三种存储状态。举例来说,存储状态C的晶胞具有最高的临限电压电平,存储状态E的晶胞具有最低的临限电压电平。再者,当晶胞经过抹除周期之后,皆会回复至未注入热载子的存储状态E。再者,SLC快闪存储器的一个晶胞可以呈现二个存储状态,而TLC快闪存储器的一个晶胞可以呈现八个存储状态。而以下皆以MLC快闪存储器所组成的非易失性存储器105为例来说明读取数据的流程,当然类似的方式也可以运用至SLC与TLC快闪存储器。一般而言,在编程周期时,若将多个晶胞编程为相同的存储状态时,并非每个晶胞的临限电压都会相同,而是会呈现一分布曲线(distributioncurve),且其分布曲线可对应至一中位临限电压。由图2B可知,存储状态E的中位临限电压为VTHE(例如0V),存储状态A的中位临限电压为VTHA(例如10V)、存储状态B的中位临限电压为VTHB(例如20V)、存储状态C的中位临限电压 为VTHC(例如30V)。举例来说明,在统计存储状态A的所有晶胞的临限电压后,具有中位临限电压VTHA(例如10V)的晶胞数目最多。如图2B所示,根据MLC快闪存储器中各个存储状态的分布曲线即可据以产生三个读取电压Vra、Vrb、Vrc作为一读取电压组(readvoltageset)。而在读取周期时,控制电路101即可依序提供读取电压组的三个读取电压至字线(wordline),用以检测MLC快闪存储器中的晶胞的存储状态。举例来说,当提供读取电压Vrb至非易失性存储器105后,可以决定晶胞的最高有效位(mostsignificantbit,MSB)。假设晶胞的临限电压小于读取电压Vrb而可以被开启,则控制电路101将该晶胞的MSB判定为“1”;假设晶胞的临限电压大于读取电压Vrb无法被开启,则控制电路101将该晶胞的MSB判定为“0”。相同地,提供读取电压Vra与Vrc至非易失性存储器105后,即可以决定晶胞的最低有效位(leastsignificantbit,LSB)。因此,如图2B所示,控制电路101以“11”来代表存储状态E、以“10”来代表存储状态A、以“00”来代表存储状态B、以“01”来代表存储状态C。同理,控制电路101可以利用一个读取电压来决定SLC快闪存储器中的二个存储状态。或者,控制电路101可以利用七个读取电压作为一个读取电压组,用来决定TLC快闪存储器中的八个存储状态。由以上的说明可知,读取电压Va、Vb、Vc是用来决定晶胞存储状态的重要依据。然而,当非易失性存储器105使用了一段时间之后,晶胞的特性会改变,使得每个存储状态的分布曲线(distributioncurve)改变且中位临限电压也会产生偏移。在此状况下,若利用原先的读取电压Va、Vb、Vc来读取非易失性存储器105中的数据时,可能会产生过多的错误位(errorbit),使得ECC单元104无法校正所有的错误位,并且无法输出正确的读取数据至主机14。因此,已知的控制电路101中会有一重试表,重试表可为一存储器,用以存储多个读取电压组。当控制电路101确认需进行读取重试(readretry)时,控制电路101在重试表106中获得另一读取电压组的三个读取电压Vra’、Vrb’、Vrc’,并提供至非易失性存储器105以重新读取数据。请参照图2C,其所绘示为已知固态存储装置的解码流程示意图。首先,控制电路101提供预定的(default)读取电压组Vra、Vrb、Vrc至非易失性存储器105,以读取非易失性存储器105中的数据(步骤S302)。接着,控制电路 101判断是否能成功解码出读取数据(步骤S304)。当ECC单元104能够成功解码时(步骤S304),代表读取数据中所有的错误位能够被更正。因此,控制电路101输出读取数据(步骤S310)。反之,当ECC单元104无法成功解码时(步骤S304),代表ECC单元104无法更正读取数据中所有的错误位。因此,控制电路101进入读取重试(readretry)流程(步骤S305)。在读取重试流程(步骤S305)中,首先,在重试表106中获得更新的读取电压组Vra’、Vrb’、Vrc’,并提供至非易失性存储器105以重新读取非易失性存储器105中的数据(步骤S306)。接着,控制电路101再次判断是否能成功解码出读取数据(步骤S308)。举例来说,假设重试表106中预先存储M个读取电压组。则在读取重试流程(步骤S305)中,M个读取电压组会依序作为更新的读取电压组,并供应至非易失性存储器105以重新读取非易失性存储器105中的数据。而在依序提供更新的读取电压组并重新读取及解码数据的过程中,如果能够成功解码出读取数据,则控制电路101即可输出读取数据,并停止继续进行读取重试流程(步骤S305)。反之,当所有M个读取电压组皆依序使用之后仍无法成功解码时,则代表读取重试失败(readretryfail),而控制电路101会产生解码失败的信息(步骤S312)。换句话说,在上述的读取重试流程(步骤S305)中,步骤S306与步骤S308最多会被执行M次。由以上的说明可知,当预定的(default)读取电压组能够成功解码时,控制电路101不会进入读取重试流程(步骤S305),此时,重试表106中的M个读取电压组完全不会被使用到。反之,当控制电路101进入读取重试流程(步骤S305)之后,重试表106中的M个读取电压组才可能被使用到。再者,已知重试表106中的M个读取电压组是由非易失性存储器105的制造商提供。而固态存储装置10进入读取重试流程(步骤S305)时,控制电路101会按照M个读取电压组存储在重试表106中的顺序,依序提供M个读取电压组至非易失性存储器105。由于在读取重试流程(步骤S305)的过程中仅可依序提供M个读取电压组至非易失性存储器105,其并无法直接得到适合的读取电压组,因此可能会耗费相当长的时间在重试其他不适合的读取电压组。技术实现要素:本发明有关于一种固态存储装置的读取控制方法,其中,固态存储装置具有非易失性存储器,包括多个区块,其中这些区块包括第一区块及第二区块,读取控制方法包括下列步骤:在固态存储装置的待机模式时,进行背景监测动作,以取得第一区块对应的第一最佳读取电压组及第二区块对应的第二最佳读取电压组;提供预定读取电压组至非易失性存储器,以读取第一区块的数据,并判断是否成功解该第一区块的数据;以及,在无法成功解码第一区块的数据时,对第一区块进行读取重试流程,并且将第一区块所对应的第一最佳读取电压组提供至非易失性存储器,以读取第一区块的数据。本发明有关于一种固态存储装置,包括:一非易失性存储器,包括多个区块,其中这些区块包括第一区块及第二区块;一控制电路,连接至该非易失性存储器,该控制电路中包括一错误校正单元与一重试表,且该重试表中存储多个读取电压组;其中,在一待机模式时,该控制电路进行一背景监测动作,以取得第一区块对应的第一最佳读取电压组及第二区块对应的第二最佳读取电压组,并且在一读取重试流程时,将该第一最佳读取电压组提供至该非易失性存储器,以读取该第一区块的数据。本发明有关于一种固态存储装置的读取控制方法,其中,固态存储装置具有一非易失性存储器,包括多个区块,其中这些区块包括第一区块,该读取控制方法包括下列步骤:在固态存储装置的一待机模式时,进行一背景监测动作,其中背景监测动作包括:将一重试表中存储的X个读取电压组提供至该非易失性存储器,用以读取该第一区块的数据,并对应地产生X个解码结果;以及根据该X个解码结果,由该X个读取电压组中决定该第一区块所对应的该第一最佳读取电压组;以及在一读取重试流程时,将该第一最佳读取电压组提供至该非易失性存储器,以读取该第一区块的数据。为了对本发明上述及其他方面有更佳的了解,下文特举优选实施例,并配合附图,作详细说明如下:附图说明图1所绘示为已知固态存储装置示意图。图2A所绘示为已知固态存储装置中非易失性存储器的晶胞排列示意图。图2B所绘示为已知MLC快闪存储器中的存储状态与临限电压关系示意 图。图2C所绘示为已知固态存储装置的解码流程示意图。图3所绘示为本发明固态存储装置示意图。图4A所绘示为本发明固态存储装置的运作示意图。图4B所绘示为针对一个区块进行背景监测动作流程示意图。图4C所绘示为决定一个区块的最佳读取电压示意图。图4D所绘示为本发明读取重试流程的第一实施例。图5A所绘示为非易失性存储器的数据维持测试的示意图。图5B所绘示为针对图5A的结果利用分群算法来进行分群的示意图。图6A与图6B所绘示为主点(方形)与扩充点(圆形)示意图。图7所绘示为本发明读取重试流程的第二实施例。【符号说明】10、30:固态存储装置12、32:外部总线14、34:主机101、301:控制电路104、304:ECC单元105、305:非易失性存储器106、306:重试表107、307:内部总线具体实施方式本发明提出一种固态存储装置及其相关读取控制方法。此方法可直接提供适合的读取电压组来进行读取重试流程,以省去多余的读取重试。当固态存储装置与主机之间没有进行任何数据传输的待机(idle)期间,控制电路会针对非易失性存储器中的所有区块来进行背景监测动作(backgroundmonitoringaction)。在进行背景监测动作时,控制电路将重试表中所有的读取电压组提供至非易失性存储器中的每一个区块。接着,在不同的读取电压组下,根据每一个区块所产生的数据状况,将每一个区块对应至一最佳读取电压组。其中,最佳读取电压组是由重试表所选出,且每一个区块对应的最佳读取电压组可能是相异的。再者,当主机读取固态存储装置中的读取数据且进入读取 重试流程时,控制电路会先根据每一区块所对应的最佳读取电压组来进行读取重试。请参照图3,其所绘示为本发明固态存储装置示意图。固态存储装置30经由一外部总线32连接至主机(host)34,其中外部总线32可为USB总线、SATA总线、PCIe总线等等。再者,固态存储装置30中包括一控制电路301与一非易失性存储器305。其中,控制电路301经由一内部总线307连接至非易失性存储器305,用以根据主机34所发出的命令将接收的写入数据存入非易失性存储器305,或者由非易失性存储器305中取得读取数据并传递至主机34。再者,控制电路301中还包括一错误校正单元(简称ECC单元)304与一重试表(retrytable)306。错误校正单元304可用来更正读取数据中的错误位(errorbits),并且在更正完成后将正确的读取数据传递至主机34。另外,重试表306中预先存储X个读取电压组,供固态存储装置30在待机期间进行背景监测动作,并且也可以运用于读取重试(readretry)流程。请参照图4A,其所绘示为本发明固态存储装置的运作示意图。当固态存储装置30接收到电源(步骤S402)后即开始运作。再者,当主机34与固态存储装置30之间有数据存取时,固态存储装置30不进入待机模式(步骤S404)而处于正常运作模式。此时,固态存储装置30接收主机34的指令进行数据存取(步骤S406)。当主机34的指令处理完成后,固态存储装置30会继续判断是否需要进入待机模式(步骤S404)。反之,当主机34与固态存储装置30之间没有数据存取时,固态存储装置30可决定进入待机模式(步骤S404),并且进行背景监测动作(步骤S408)。根据本发明实施例,当固态存储装置30进行背景监测动作时(步骤S408),只要主机30发出指令至固态存储装置30欲进行数据存取时,背景监测动作会停止,并且固态存储装置30会离开待机模式。众所周知,固态存储装置30中的非易失性存储器305中包括许多区块(block),而每个区块中又包括多个页(page)。举例来说,非易失性存储器305中有1024个区块,每一个区块中有256页,而每个页的容量为8Kbytes。再者,ECC单元304的一个码字(codeword)的长度为1Kbytes,因此一个页的数据共有8个码字。再者,以下背景监测动作是以区块为单位来进行说明,说明如下。请参 照图4B,其所绘示为针对一个区块进行背景监测动作流程示意图。首先,由一个区块中的多个页中选择一特定页(specificpage)(步骤S412)。基本上,此特定页是由该区块中的多个页中选取其中之一。接着,设定p等于1(步骤S414),并将重试表306中的第p个读取电压组提供至非易失性存储器305中,用以读取此特定页的数据(步骤S416)。接着,将读取出的数据进行解码,并将ECC单元304的解码结果记录为第p个解码结果(步骤S418)。再者,当p不等于X时(步骤S420),将p加1(步骤S414)后执行步骤S416。反之,当p等于X时(步骤S420),代表重试表306中的X个读取电压组皆已用来读取此特定页的数据,并且已经产生X个解码结果。因此,控制电路301即可根据X个解码结果来决定一最佳读取电压组(步骤S422)。而此最佳读取电压组会被记录下来,以便于读取重试流程时运用于重新读取该区块的数据。由以上说明可知,假设非易失性存储器305中有1024个区块时,图4B的流程图需要进行1024次来完成完整的背景监测动作。然而,根据图4A的说明可知,固态存储装置30可以在背景监测动作的执行过程中决定离开待机模式。换句话说,当固态存储装置30离开待机模式时,可能仅有一部分的区块完成背景监测动作并已经决定对应的最佳读取电压组,而另一部分尚未决定对应的最佳读取电压。而当固态存储装置30再次进入待机模式时,即可再继续针对另一部分区块来进行背景监测动作,以决定对应的最佳读取电压组。请参照图4C,其所绘示为决定一个区块的最佳读取电压示意图。假设重试表306中共有9个读取电压组,所以进行完一个区块的背景监测动作后会产生9个解码结果。如图4C所示,提供第一读取电压组来读取此特定页的数据时,无法被成功解码的码字(uncorrectablecodeword)有8个;提供第二读取电压组来读取此特定页的数据时,无法被成功解码的码字有0个,且产生706个错误位(errorbit);提供第三读取电压组来读取此特定页的数据时,无法被成功解码的码字有0个,且产生597个错误位;提供第四读取电压组来读取此特定页的数据时,无法被成功解码的码字有0个,且产生614个错误位;提供第五读取电压组来读取此特定页的数据时,无法被成功解码的码字有0个,且产生617个错误位;提供第六读取电压组来读取此特定页的数据时,无法被成功解码的码字有6个,且产生247个错误位;提供第七、八、九读取电压组来读取此特定页的数据时,无法被成功解码的码字皆有8个。在上述例子中,明显地,提供第一、六、七、八、九读取电压组来读取此特定页时,ECC单元304无法成功解码,因此无法正确地产生此特定页的数据。再者,提供第二、三、四、五读取电压组来读取此特定页时,ECC单元304可成功解码并产生此特定页的数据。再者,由于第三读取电压组所产生的错误位最少,且无法被成功解码的码字最少,因此可决定第三读取电压组为该区块对应的最佳读取电压组。在本发明实施例中,由于区块对应的最佳读取电压组是根据最佳解码效果来决定,因此使用最佳读取电压组来读取其对应的区块相较于使用其他读取电压组而言,其具有较高的数据读取成功率。另外,上述的说明是以一个区块中的一个特定页来进行测试,当然本发明并不限定于此。在此领域的技术人员,可以利用区块中的一部分来进行测试,例如一个区块中的二个页来进行测试或者一整个区块皆用来进行测试,一样也可以达成本发明的效果。基本上,在读取本发明的固态存储装置30中的数据时,控制电路301会提供预定的(default)读取电压组至非易失性存储器305,用以读取非易失性存储器305中的数据。在无法成功解码读取出的数据时,固态存储装置30即进入读取重试流程。请参照图4D,其所绘示为本发明读取重试流程的第一实施例。首先,控制电路301先确认欲读取的区块是否曾经进行背景监测动作,并是否已经有对应的最佳读取电压组(步骤S430)。在确认欲读取的区块已经有对应的最佳读取电压组(步骤S430)时,则提供该最佳读取电压组至非易失性存储器305,用以读取该区块的数据(步骤S432)。接着,判断是否成功解码出读取数据(步骤S436)。反之,在确认欲读取的区块尚无对应的最佳读取电压组(步骤S430)时,代表该区块尚未进行背景监测动作。此时,控制电路301会根据重试表306,提供更新的读取电压组至非易失性存储器305,用以读取该区块的数据(步骤S434),并判断是否成功解码出读取数据(步骤S436)。再者,在成功解码出读取数据(步骤S436)时,即可输出该区块的读取数据(步骤S438)。反之,在无法成功解码(步骤S436)时,即执行步骤S434。由以上的说明可知,假设重试表306中预先存储X个读取电压组。在读取重试流程中,如果该区块具有对应的最佳读取电压组时,则该最佳读取电压组会先被提供至非易失性存储器用以重新读取数据并解码。如果该区块尚 未具有对应的最佳读取电压组时,则依照重试表306中的X组读取电压组的次序来提供至非易失性存储器以重新读取数据并解码。由以上的说明可知,本发明提出一种背景监测动作用以在固态存储装置30的待机期间,预先决定每一区块的最佳读取电压组。在读取重试流程时,可优先提供最佳读取电压组来重新读取对应区块的数据,以快速地成功解码,降低读取重试的次数。再者,本发明亦提出重试表的多个读取电压组的建立方法。而利用本发明重试表建立方法中所存储的多个读取电压组,也可以用来判断非易失性存储器305的状态,并进而启动因应流程。以下详细说明如何建立重试表中的多个读取电压组。众所周知,固态存储装置30出厂并经过多次编程与抹除之后,非易失性存储器305中每个晶胞存储状态的分布曲线会改变,且中位临限电压也会产生偏移,并导致读取失败。基本上,读取失败模式(failuremode)有很多种,例如编程干扰(programdisturb)模式、数据维持(dataretention)模式及读取干扰(readdisturb)模式等。一般来说,非易失性存储器305经过多次的编程与抹除之后,即会影响晶胞的性能而使得晶胞中的存储状态被误判而导致读取失败,此种读取失败模式即为编程干扰模式。同理,当晶胞被编程后,读取的次数多寡也会影响晶胞的性能,并使得晶胞中的存储状态被误判而导致读取失败,此种读取失败模式即为读取干扰模式。再者,当晶胞被编程之后,随着数据存储时间的增长,晶胞中的热载子可能逐渐流失而使得晶胞中的存储状态被误判而导致读取失败,此种读取失败模式即为数据维持模式。根据本发明的实施例,固态存储装置30的设计者在出厂前,针对非易失性存储器405的各种读取失败模式进行各种实验,并且测量非易失性存储器305的读取电压组变化,并进行分析。最后,根据分析结果来建立非易失性存储器305的多个读取电压组并存储在重试表306中。以下以数据维持模式为例来进行说明建立读取电压组的过程,而编程干扰模式与读取干扰模式也可以利用相同的方式来建立,不再赘述。请参照图5A,其所绘示为非易失性存储器的数据维持测试的示意图。图5A仅以MLC快闪存储器的读取电压Vra与Vrc的变化为例来做说明,其他的读取电压Vrb也可以利用相同的方式来进行测试,此处不再赘述。在进行数据维持测试时,需要针对非易失性存储器305中不同存储时间条件的多个晶胞进行读取,并且测量其读取电压,进而建立图5A。如图5A所示,坐标(0,0)的位置为预定的(default)读取电压组Vra与Vrc的位置,而坐标轴上的点代表读取电压组与预定的读取电压组之间的偏移(shift)。明显地,随着数据存储时间的增长,读取电压Vra与Vrc会有逐渐减少的倾向,并偏离预定的读取电压Vra与Vrc。请参照图5B,其所绘示为针对图5A的结果利用分群算法来进行分群的示意图。在图5B中,所有的测量点被区分为5个群(group),<I>~<V>。再者,每个群中的测量点的平均值被定义为主点(mainpoints)P1~P5(图中以方形表示)。而此五个主点P1~P5即可作为对应于读取失败模式为数据维持模式的五个读取电压组,并存储在重试表306中。相同地,设计者可以根据上述的方式进行编程干扰测试以及读取干扰测试。举例来说,在编程干扰测试中决定五个读取电压组,在读取干扰测试中决定五个读取电压组。如此,共有十五个读取电压组存储在重试表306中,且其对应于不同的读取失败模式。通过上述方法建立的重试表306可运用于如图4B所示的背景监测动作。在背景监测动作的执行过程中,控制电路301分别提供重试表306中的多个读取电压组至非易失性存储器305以读取特定页的数据,并取得对应的解码结果。接着,根据解码结果得出对应区块的最佳读取电压组。由于本发明提出的重试表306建立方法是根据不同的读取失败模式来进行测试及分析,因此当通过背景监测动作得到对应区块的最佳读取电压组时,其也可判断对应区块是遭受到何种读取失败模式及其程度大小,并进一步决定是否启动因应流程。举例来说,假设在背景监测动作后,确认一个区块的最佳读取电压组位于图5B的主点P3。如此,可以判断该区块目前所遭受到的读取失败模式应该是读取维持模式,且由主点P3位于<III>群可以进一步得知该区块的存储时间条件程度。接着,假设读取维持模式中的<III>群表示数据存储时间超过允许值,则当在背景监测动作得到区块对应的最佳读取电压组位于读取维持模式的<III>群时,为了避免区块的数据因存储时间过长而持续流失,控制电路301可以启动因应流程,例如进行数据搬移流程,将区块内的数据搬移至其他区块中。同样的,针对其他读取失败模式及其程度大小,也可具有对应的 因应流程。例如,针对编程干扰模式,当在背景监测动作得到区块对应的最佳读取电压组位于编程干扰模式,且其编程与抹除次数程度超过允许值时,控制电路301可以判断该区块已不适于存储数据并启动对应的因应流程,例如进行数据搬移及区块标示流程,将区块内的数据搬移至其他区块中,并将该区块进行标示而不再使用。本发明提出的重试表建立方法,并搭配本发明提出的背景监测动作可得出区块的最佳读取电压组,并通过得出的最佳读取电压组判断区块所遭受的读取失败模式及其程度大小,并进一步决定是否启动因应流程。此外,由于背景监测动作是选择一个区块中的一个页来获得最佳读取电压组,为了防止页与页之间的变异(variance)。除了搜集主点之外,本发明更可以根据主点进一步计算出扩充点(extensionpoint),作为扩充读取电压组并运用于读取重试流程,以增加数据读取成功率,并减少读取重试的次数。请参照图6A,其所绘示为主点(方形)与扩充点(圆形)示意图。基本上,运用分群算法,可对图5B中的五个主点再进行扩充,而每一个主点被额外扩充得到三个扩充点(extendedpoint)(图中以圆形表示),并存储在重试表306中。因此,在五个群<I>~<V>中,共有十五个扩充点。因此,在读取重试流程时,如果被选为最佳读取电压组的主点无法成功解码时,控制电路301可再提供被选为最佳读取电压组的该主点附近的九个扩充点来进行扩充读取重试(extendedreadretry)流程。如图6B所示,假设被选为最佳读取电压组的主点为P3。而在读取重试流程时,提供最佳读取电压P3仍无法成功解码时,可再提供该最佳读取电压组P3附近虚线方框中的九个扩充点来进行扩充读取重试流程。本发明并未限定每一个主点被额外扩充的扩充点数目,以及用来进行扩充读取重试流程的扩充点数目,在此领域的技术人员可根据实际分析结果调整对应的扩充点数目。请参照图7,其所绘示为本发明读取重试流程的第二实施例。相较于图4D的第一实施例,第二实施例中增加了一扩充读取重试流程(步骤S720)。假设重试表306中有X个(例如15个)组读取电压组,且每个读取电压组又可对应至N个(例如9个)扩充读取电压组。首先,在读取重试流程开始时,控制电路301先确认欲读取的区块是否曾经进行背景监测动作,并已经有对应的最佳读取电压组(步骤S710)。在确认欲读取的区块已经有对应的最佳读取电压组(步骤S710)时,则提供该最佳 读取电压组至非易失性存储器305,用以读取该区块的数据(步骤S712)。接着,在成功解码时(步骤S713),输出读取数据(步骤S718)。根据本发明的第二实施例,在无法成功解码(步骤S713)时,更进入一扩充读取重试流程(步骤S720)。在扩充读取重试流程(步骤S720)中,控制电路301将最佳读取电压组所对应的N个扩充读取电压组依序提供至非易失性存储器305以读取区块的数据,并进行解码。在扩充读取重试流程(步骤S720)中,另外将N个扩充的读取电压组提供至非易失性存储器305用以读取区块的数据(步骤S722)。而在提供扩充的读取电压组过程中,如果能够成功解码(步骤S724),则控制电路301即可输出读取数据(步骤S718),并停止继续进行扩充读取重试流程(步骤S720)。反之,当所有N个扩充的读取电压组皆使用之后仍无法成功解码(步骤S724),则代表扩充读取重试失败(extendedreadretryfail),则执行步骤S714。换句话说,在上述的扩充读取重试流程(步骤S720)中,步骤S722与步骤S724最多会被执行N次。另外,在确认欲读取的区块尚无对应的最佳读取电压组(步骤S710)时,代表该区块尚未进行背景监测动作。此时,控制电路301会根据重试表306提供更新的读取电压组至非易失性存储器305,用以读取该区块的数据(步骤S714),并判断是否成功解码(步骤S716)。再者,在成功解码(步骤S716)时,即可输出该区块的读取数据(步骤S718)。反之,在无法成功解码(步骤S716)时,即执行步骤S714。在本申请提出的读取重试流程中,如果该区块具有对应的最佳读取电压组时,则该最佳读取电压组会先被提供至非易失性存储器。再者,当该最佳读取电压组仍无法成功解码时,更提供扩充的读取电压组非易失性存储器,用以提高成功解码的机率。由本发明的第一与第二实施例的说明可知,本发明提出一种固态存储装置及其相关读取控制方法。在固态存储装置30的待机模式时,控制电路301会利用重试表306中的多个读取电压组来对非易失性存储器305中的每个区块进行背景监测动作,并使每个区块对应至一最佳读取电压组。当固态存储装置30进入读取重试流程时,即可将最佳读取电压组提供至非易失性存储器用以读取区块的数据,以提高成功解码的机率,降低读取重试的次数。综上所述,虽然本发明已以优选实施例公开如上,然其并非用以限定本 发明。本发明所属领域技术人员,在不脱离本发明的精神和范围内,当可作各种更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1