固态储存装置的控制方法与流程

文档序号:16929468发布日期:2019-02-22 20:08阅读:126来源:国知局
本发明涉及一种固态储存装置的控制方法,且特别涉及一种固态储存装置降低读取重试(readretry)的控制方法。
背景技术
::众所周知,固态储存装置(solidstatedevice)已经非常广泛的应用于各种电子产品,例如sd卡、固态硬碟等等。一般来说,固态储存装置是由接口控制电路以及非挥发性记忆体(non-volatilememory)组合而成。再者,固态储存装置又可称为快闪记忆体(flashmemory)。请参照图1,其所绘示为固态储存装置示意图。固态储存装置10包括:接口控制电路101以及非挥发性记忆体105。其中,非挥发性记忆体105中更包含记忆胞阵列(memorycellarray)109和阵列控制电路(arraycontrolcircuit)111。再者,记忆胞阵列109由多个记忆胞(memorycell)所组成。一般而言,记忆胞阵列被划分成多个区块(block),每个区块再分成多个页(page)。固态储存装置10经由一外部总线12连接至主机(host)14,其中外部总线12可为usb总线、sata总线、pcie总线等等。再者,接口控制电路101经由一内部总线113连接至非挥发性记忆体105,用以根据主机14所发出的命令进一步操控阵列控制电路111,用以将主机14的写入数据存入记忆胞阵列109。或者,根据主机14所发出的命令进一步操控阵列控制电路111,使得阵列控制电路111由记忆胞阵列109中取得读取数据,经由接口控制电路101传递至主机14。基本上,接口控制电路101中有一组预设读取电压组(defaultreadvoltageset)。于读取周期(readcycle)时,接口控制电路101,经由内部总线113,传送操作指令到非挥发性记忆体105内的阵列控制电路111,令其利用此预设读取电压组来判断非挥发性记忆体105中记忆胞阵列109之前所存入的数据成为读取数据。再者,接口控制电路101中的错误校正码电路(简称ecc电路)104用来更正读取数据中的错误位元(errorbits),并且于更正完成后将正确的读取数据传递至主机14。另外,当ecc电路104无法成功地校正读取数据中所有的错误位元时,则无法输出正确的读取数据至主机14。此时,接口控制电路101另提供其他多组重试读取电压组(readretryvoltageset),使接口控制电路101采用重试读取电压组来对非挥发性记忆体105进行读取重试(readretry)。详细说明如下:根据每个记忆胞所储存的数据量,可进一步区分为每个记忆胞储存一位元的单层记忆胞(single-levelcell,简称slc记忆胞)、每个记忆胞储存二位元的多层记忆胞(multi-levelcell,简称mlc记忆胞)以及每个记忆胞储存三位元的三层记忆胞(triple-levelcell,简称tlc记忆胞)。因此,记忆胞阵列109可为slc记忆胞阵列、mlc记忆胞阵列或者tlc记忆胞阵列。在记忆胞阵列109里,每个记忆胞内皆包括一浮动栅晶体管(floatinggatetransistor),而阵列控制电路111可控制热载子(hotcarrier)注入浮动栅极(floatinggate)的数量,即可控制浮动栅晶体管的储存状态。换言之,一个记忆胞内的浮动栅晶体管可记录二种储存状态即为slc记忆胞;一个记忆胞内的浮动栅晶体管可记录四种储存状态即为mlc记忆胞;一个记忆胞内的浮动栅晶体管可记录八种储存状态即为tlc记忆胞。请参照图2a,其所绘示为tlc记忆胞的储存状态示意图。tlc记忆胞的一个记忆胞可以根据热载子的注入量而呈现八个储存状态“erase”、“a”~“g”。在未注入热载子时,记忆胞可视为储存状态“erase”,而随着热载子注入的量的增加,可再区分为其他七种储存状态“a”~“g”。举例来说,储存状态“g”的记忆胞具有最高的临限电压准位,储存状态“erase”的记忆胞具有最低的临限电压准位。再者,当记忆胞经过抹除动作(eraseaction)之后,皆会回复至未注入热载子的储存状态“erase”。一般而言,于编程周期(programcycle)时,若将多个记忆胞编程为相同的储存状态时,并非每个记忆胞的临限电压都会相同,而是会呈现一分布曲线(distributioncurve),且其分布曲线可对应至一中位临限电压。由图2a可知,储存状态“erase”的中位临限电压为ver,储存状态“a”的中位临限电压为va、储存状态“b”的中位临限电压为vb、储存状态“c”的中位临限电压为vc、储存状态“d”的中位临限电压为vd,储存状态“e”的中位临限电压为ve、储存状态“f”的中位临限电压为vf、储存状态“g”的中位临限电压为vg。举例来说,在统计储存状态“a”的所有记忆胞的临限电压后,中位临限电压va的记忆胞数目最多。如图2a所示,根据tlc记忆胞中各个储存状态的分布曲线即可据以产生七个读取电压vra~vrg作为预设读取电压组(defaultreadvoltageset)。于读取周期时,接口控制电路101即提供预设读取电压组至阵列控制电路111,以检测记忆胞阵列109中tlc记忆胞的储存状态。如图2a所示,预设读取电压组vra~vrg是用来决定tlc记忆胞储存状态的重要依据。举例来说,阵列控制电路111提供读取电压vrg至记忆胞阵列109。临限电压大于读取电压vrg而无法被开启的记忆胞即可被判定为储存状态“g”,而临限电压小于读取电压vrg而被开启的记忆胞即被判定为不是储存状态“g”。换言之,运用预设读取电压组vra~vrg的七个读取电压即可判断出tlc记忆胞的八种储存状态。同理,运用预设读取电压组的三个读取电压即可判断出mlc记忆胞的四种储存状态。而运用一个预设读取电压即可判断出slc记忆胞的二种储存状态。如图2b所示,其所绘示为tlc记忆胞的储存状态偏移示意图。固态储存装置10在实际使用的时候会遇到各种不同的操作条件。例如重复抹写(cycling)、高温/常温放置时间长短(high/roomtemperaturebaking)、重复读取(readdisturb)的情况。上述的各种情况也会造成记忆胞阵列109中的记忆胞的分布曲线偏移。另外,当tlc记忆胞中的储存数据放置时间过久(例如储存数据放置1个月以上)时,也可能会造成分布曲线偏移(shift)。如图2b所示,当tlc记忆胞的分布曲线偏移后,储存状态“erase”的中位临限电压为ver',储存状态“a”的中位临限电压为va’、储存状态“b”的中位临限电压为vb’、储存状态“c”的中位临限电压为vc’、储存状态“d”的中位临限电压为vd’,储存状态“e”的中位临限电压为ve’、储存状态“f”的中位临限电压为vf’、储存状态“g”的中位临限电压为vg’。因此,利用预设读取电压组vra~vrg来决定tlc记忆胞储存状态时,将会造成读取数据中的错误位元(errorbits)增加。当ecc电路104无法成功地校正读取数据中所有的错误位元,使得接口控制电路101无法输出正确的读取数据至主机14时,接口控制电路101需要提供其他的重试读取电压组vra'~vrg'来进行读取重试(readretry)。请参照图3,其所绘示为现有固态储存装置的错误更正流程示意图。于读取周期时,接口控制电路101先进行解码流程(decodingprocess)a,其为利用预设读取电压组来进行硬式解码(harddecoding)。于进行解码流程a时,接口控制电路101提供预设读取电压组至非挥发记忆体105,并利用ecc电路104中的硬式解码(harddecodingmethod)来校正读取数据。当读取数据中的错误位元可以被更正时,代表通过(pass)解码流程a而解码成功。因此,接口控制电路101即可将正确的读取数据传递至主机14。反之,当读取数据中的错误位元无法被更正时,将无法获得正确的读取数据,代表解码流程a失败(fail),因此接口控制电路101进入读取重试(readretry)。再者,当接口控制电路101进入读取重试时,先进行解码流程b。解码流程b,其为利用重试读取电压组来进行硬式解码。举例来说,接口控制电路101提供一笔重试读取电压组vra’~vrg’至非挥发记忆体105并获得读取数据。接着,利用ecc电路104中的硬式解码来校正读取数据。当读取数据中的错误位元可以被更正时,代表通过(pass)解码流程b而解码成功,并可将正确的读取数据传递至主机14。反之,当读取数据中的错误位元无法被更正时,代表无法通过(fail)解码流程b。由于接口控制电路101中储存多个重试读取电压组。只要接口控制电路101利用其中的一个重试读取电压组而能够解码成功时,即代表通过(pass)解码流程b。反之,如果使用了全部的重试读取电压组后仍无法解码成功时,即代表解码流程b失败(fail)。因此,接口控制电路101进行解码流程c。明显地,解码流程b所需的时间大于解码流程a。接口控制电路101进行解码流程c,其为利用重试读取电压组来进行软式解码(softdecoding)。相较于硬式解码,软式解码具有更佳的错误更正能力,但是需要同时利用多笔重试读取电压组才能够获得一笔读取数据。因此,软式解码会更耗时,意即解码流程c所需的时间大于解码流程b。同理,只要接口控制电路101能够解码成功时,即代表通过(pass)解码流程c,并可将正确的读取数据传递至主机14。反之,如果接口控制电路101无法解码成功时,即代表解码流程c失败(fail)。因此,接口控制电路101确定无法获得正确的读取数据,并且回复主机14解码失败。由以上固态储存装置的错误更正流程可知,当解码流程a失败后,接口控制电路101会进入读取重试(readretry)。而读取重试时,接口控制电路101需要先进行解码流程b。再者,于确认解码流程b失败后,接口控制电路101继续进行解码流程c。另外,当接口控制电路101确认解码流程c失败后,回复主机14解码失败。请参照图4,其所绘示为现有固态储存装置的读取重试机率示意图。基本上,记忆胞阵列109中的记忆胞经过多次的编程与抹除后,其特性会越来越差寿命会越短。因此,于读取周期时,遇到读取重试的机率会逐渐增加。如图4所示,当固态储存装置10刚出厂时,记忆胞阵列109中的区块(block)其编程抹除次数(programerasecount,p/ecount)少,记忆胞的特性较佳。此时,读取一个区块(block)的数据时需要进行读取重试(readretry)的机率prr(probabilityofreadretry)约为0.1%。随着记忆胞阵列109的记忆胞编程抹除次数增加。于读取周期时,每个区块需要进行读取重试(readretry)的机率prr会逐渐上升。如图4所示,当记忆胞的编程抹除次数(p/ecount)超过2000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为1%。当记忆胞的编程抹除次数(p/ecount)超过4000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为10%。当记忆胞的编程抹除次数(p/ecount)超过6000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为25%。当记忆胞的编程抹除次数(p/ecount)超过8000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为60%。由以上的说明可知,当固态储存装置10刚出厂时,编程抹除次数(p/ecount)很少,记忆胞的特性较佳,此时固态储存装置10的数据读取速度几乎不会受到影响。而随着编程抹除次数(p/ecount)增加,需要进行读取重试的机率上升,导致固态储存装置10的数据读取速度越来越慢。技术实现要素:本发明有关于一种固态储存装置的控制方法,包括下列步骤:检查一记忆胞阵列中的一区块;判断该区块的数据放置时间是否超过一临限时间;以及于确认该区块的数据放置时间超过该临限时间时,标记该区块或者刷新该区块中的数据。本发明有关于一种固态储存装置的控制方法,包括下列步骤:检查一记忆胞阵列中的一区块;当该区块的一编程抹除次数超过一临限次数时,获得一区块信息与一环境信息;根据该区块信息与该环境信息来预测未来一固定天数内发生一读取重试的机率;以及于确认未来该固定天数内发生该读取重试的机率大于一临限机率时,标记该区块或者刷新该区块中的数据。本发明有关于一种固态储存装置的控制方法,包括下列步骤:检查一记忆胞阵列中的一区块;判断该区块的数据放置时间是否超过一临限时间;以及于确认该区块的数据放置时间超过该临限时间时,标记该区块或者刷新该区块中的数据;于确认该区块的数据放置时间未超过该临限时间且该区块的一编程抹除次数超过一临限次数时,获得一区块信息与一环境信息;根据该区块信息与该环境信息来预测未来一固定天数内发生一读取重试的机率;以及于确认未来该固定天数内发生该读取重试的机率大于一临限机率时,标记该区块或者刷新该区块中的数据。以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。附图说明图1为固态储存装置示意图。图2a为tlc记忆胞的储存状态示意图。图2b为tlc记忆胞的储存状态偏移示意图。图3为现有固态储存装置的错误更正流程示意图。图4为现有固态储存装置的读取重试机率示意图。图5a至图5b为区块数据与错误位元之间的关系示意图。图6为本发明固态储存装置的控制方法第一实施例流程图。图7为本发明固态储存装置的控制方法第二实施例流程图。图8为本发明固态储存装置的控制方法第三实施例流程图。图9为本发明固态储存装置的读取重试机率示意图。具体实施方式下面结合附图对本发明的结构原理和工作原理作具体的描述:由固态储存装置10的运作原理可知,当接口控制电路101进入读取重试(readretry)后,不论进行解码流程b或者解码流程c,皆会耗费相对长的时间来获得正确的读取数据。因此,本发明提出一种固态储存装置及其相关控制方法,用以降低接口控制电路101进行读取重试(readretry)的机率。基本上,本发明的控制方法可运用于图1所示的固态储存装置10。亦即,利用接口控制电路101来执行本发明的控制方法,即可有效地降低接口控制电路101进行读取重试(readretry)的机率。一般来说,当储存状态的分布曲线偏移太严重时,接口控制电路101提供预设读取电压组来判断非挥发性记忆体105中的读取数据时,读取数据中会产生过多的错误位元(errorbits),并使得ecc电路104无法成功地校正读取数据中所有的错误位元。此时,接口控制电路101需要进行读取重试。而当接口控制电路101进行读取重试时,固态储存装置10的读取速度就会明显地下降。如果接口控制电路101进行解码流程b与解码流程c之后,仍无法获得正确的读取数据时,更会造成读取失败而数据流失的情况发生。请参照图5a至图5b,其所绘示为区块数据与错误位元之间的关系示意图。其中,bth代表ecc电路104利用硬式解码的校正能力(decodingcapability);bth’代表ecc电路104利用软式解码的校正能力。亦即,当一个区块中的错误位元数目小于bth时,ecc电路104利用硬式解码可成功校正而获得正确的读取数据。同理,每个区块中的错误位元数目小于bth'时,ecc电路104利用软式解码可成功校正而获得正确的读取数据。如图5a所示,固态储存装置10的记忆胞阵列109特性很优异时,每个区块所产生的错误位元会小于bth。此时,接口控制电路101利用预设读取电压组来获得读取数据,并利用硬式解码即可成功校正而获得正确的读取数据。因此,记忆胞阵列109中读取一个区块的数据时需要进行读取重试(readretry)的机率prr为零。如图5b所示,而随着记忆胞阵列109中记忆胞的特性逐渐劣化。利用预设读取电压组来获得读取数据时,会有部分区块(右侧的a个区块)的读取数据,其错误位元数目超过bth。而接口控制电路101需要针对该部分区块(右侧的a个区块)进行读取重试。换言之,记忆胞阵列109中读取一个区块的数据时需要进行读取重试(readretry)的机率prr即为(a/区块总数)。举例来说,记忆胞阵列109中共有1024个区块,且有100个区块需要进行读取重试,则需要进行读取重试(readretry)的机率prr为=9.8%(=100/1024)。一般来说,当主机14发出的命令将主机14的写入数据存入记忆胞阵列109后,随着写入数据放置的时间越长,其储存状态的分布曲线偏移将越严重。换言之,将写入数据储存于记忆胞阵列109的初期(例如1个星期之内),接口控制电路101读取该写入数据时,需要进行读取重试的机率prr较低。而当写入数据放置的时间越长(例如放置1个月之后),接口控制电路101读取该写入数据时,需要进行读取重试的机率prr会上升。因应上述记忆胞阵列109的特性,本发明提出固态储存装置的控制方法。请参照图6,其所绘示为本发明固态储存装置的控制方法第一实施例流程图。当固态储存装置10正常运作时,接口控制电路101每隔一预设时间,检查记忆胞阵列109中的一个区块(步骤s602)。举例来说,接口控制电路101每隔一预设时间,例如20分钟,检查记忆胞中的一个区块。当然,本发明并不限定于固定时间来检查记忆胞阵列109中的区块。也可以在固态储存装置10未执行指令时的闲置状态(idle),再来检查记忆胞阵列109中的区块。如此,可降低固态储存装置10的负载(loading)。接着,接口控制电路101判断区块的数据放置时间(dataretentiontime)是否超过一临限时间(步骤s604)。基本上,临限时间可根据记忆胞阵列109的特性来设定。举例来说,当记忆胞阵列109的特性尚佳时,临限时间可以设定为较长的14天(二个星期);当记忆胞阵列109的特性较差时,临限时间可以设定为较短的7天(一个星期)。当区块中数据的放置时间未超过临限时间时(步骤s604),则不进行任何动作并回到步骤s602。换言之,由于该区块中数据的放置时间未超过临限时间,代表在未来几天之内读取该区块的数据时,接口控制电路101进行读取重试的机率较小。基本上,未来几天即代表未来的固定天数(例如未来3天)之内,读取该区块的数据时,接口控制电路101进行读取重试的机率较小。反之,当区块中数据的放置时间超过临限时间时(步骤s604),则标记(tag)该区块或者刷新(refresh)该区块中的数据(步骤s606)。由于该区块中数据的放置时间已超过临限时间,代表在未来几天之内读取该区块的数据时,接口控制电路101进行读取重试的机率较大。因此,接口控制电路101可以标记该区块,于未来读取该区块的数据时,直接利用重试读取电压组来获得读取数据,以防止读取速度降低。或者,接口控制电路101直接刷新(refresh)该区块中的数据。其中,刷新该区块的数据是将储存于该区块的数据搬移至记忆胞阵列109中的一空白区块(blankblock)。根据本发明的第一实施例,接口控制电路101周期性的刷新(periodicrefresh)数据放置时间过久的区块。当刷新动作完成后,旧区块的数据已经另外搬移至记忆胞阵列109中新的区块。换言之,新区块在写入数据后,可视为数据的放置时间由0开始重新计算。也就是说,读取该数据时,接口控制电路101进行读取重试的机率会大幅降低。除了利用第一实施例所揭露的控制方法,周期性的刷新(periodicrefresh)数据放置时间过久的区块之外。也可以利用机器学习演算法(machinelearningalgorithm)来建构一预测模型(predictionmodel)用来预测区块发生读取重试的机率。当预测出一特定区块在未来几天之内(例如未来3天之内)发生读取重试的机率高于一临限机率时,则标记该特定区块或者刷新该特定区块。例如其中该临限机率可设定为10%。请参照图7,其所绘示为本发明固态储存装置的控制方法第二实施例流程图。首先,当固态储存装置10正常运作时,接口控制电路101每隔一预设时间,检查记忆胞阵列109中的一个区块(步骤s702)。举例来说,预设时间可设定为20分钟。当然,本发明并不限定于固定时间来检查记忆胞阵列109中的区块。也可以在固态储存装置10未执行指令时的闲置状态(idle),再来检查记忆胞阵列109中的区块。如此,可降低固态储存装置10的负载(loading)。接着,接口控制电路101判断该区块的编程抹除次数是否超过临限次数(步骤s704)。当该区块的编程抹除次数未超过临限次数,代表在未来几天之内读取该区块的数据时,接口控制电路101进行读取重试的机率较小,因此不需要进行任何动作并回到步骤s702。当该区块的编程抹除次数超过临限次数时,则接口控制电路101获得区块信息(blockinformation)与环境信息(environmentinformation)(步骤s706)。根据本发明的实施例,区块信息可以是区块的数据放置时间(dataretentiontime)、编程时间(programtime)、抹除时间(erasetime)、错误位元(errorbit)、或者读取重试机率等等信息。而环境信息可以是固态储存装置10现在的操作温度、在此温度累积操作的时间或者是先前的操作温度、在此先前温度累积操作的时间等等信息。基本上,区块信息可以代表该区块对应的记忆胞现在的特性。举例来说,区块的编程时间以及抹除时间较短,代表该区块所对应的记忆胞具有较佳的特性。而区块的编程时间以及抹除时间较长,则代表该区块所对应的记忆胞特性不佳。同理,错误位元(errorbit)的数目多寡也可代表该区块所对应的记忆胞特性。而利用错误位元更可以估算该区块现在的读取重试机率(currentreadretryprobability)。再者,为了降低接口控制电路101的负担(loading),接口控制电路101可以读取该区块中部分的数据,并推测整个区块的错误位元。举例来说,接口控制电路101可以读取该区块中一个页(page)的数据,并根据该页所产生的错误位元来推测该页的读取重试机率,并进一步计算出整个区块的错误位元与读取重试机率。另外,利用环境信息可以用来预测未来几天之内记忆胞的特性变化程度。举例来说,当固态储存装置10现在的操作温度很高,则记忆胞的特性劣化程度会较快。因此,根据固态储存装置10现在的操作温度和在此温度累积操作的时间以及先前的操作温度可以预测未来几天之内记忆胞的特性变化程度。接着,接口控制电路101根据区块信息与环境信息来预测未来几天发生读取重试的机率(步骤s708)。根据本发明的实施例,将区块信息与环境信息输入预测模型后,预测模型即可输出未来发生读取重试的机率prr。之后,接口控制电路101判断未来几天发生读取重试的机率prr是否大于临限机率(步骤s710)。当未来几天发生读取重试的机率prr不大于临限机率时,则不进行任何动作回到步骤s702。反之,当未来几天发生读取重试的机率prr大于临限机率时,则标记(tag)该区块或者刷新(refresh)该区块中的数据(步骤s712)。由于该区块在未来几天之内发生读取重试的机率较大。因此,接口控制电路101可以标记该区块,未来读取该区块的数据时,可以直接利用重试读取电压组来获得读取数据,以防止读取速度降低。或者,接口控制电路101可直接刷新(refresh)该区块中的数据。其中,刷新该区块的数据是将储存于该区块的数据搬移至记忆胞阵列109中的一空白区块。当刷新动作完成后,旧区块的数据已经另外搬移至记忆胞阵列109中新的区块。换言之,新区块在写入数据后,可视为数据的放置时间由0开始重新计算。也就是说,读取该数据时,接口控制电路101进行读取重试的机率会大幅降低。再者,第二实施例可以稍微修改,并结合第一实施例的特征而成为第三实施例。请参照图8,其所绘示为本发明固态储存装置的控制方法第三实施例流程图。相较于第二实施例,第三实施例于步骤s702与步骤s704之间增加了步骤s604。以下简介绍步骤s604,其它步骤不再赘述。亦即,接口控制电路101判断区块中数据的放置时间(dataretentiontime)是否超过一临限时间(步骤s604)。当区块中数据的放置时间未超过临限时间时,则进入步骤s704。反之,当区块中数据的放置时间超过临限时间时,则标记该区块或者刷新(refresh)该区块中的数据(步骤s712)。请参照图9,其所绘示为本发明固态储存装置的读取重试机率示意图。如图9所示,将第一实施例的控制方法运用于固态储存装置10后,当记忆胞阵列109中的记忆胞的编程抹除次数(p/ecount)少于2000次时,读取一个区块(block)的数据时需要进行读取重试(readretry)的机率prr约为0.1%。当记忆胞的编程抹除次数(p/ecount)超过2000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为1%。当记忆胞的编程抹除次数(p/ecount)超过4000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为2%。当记忆胞的编程抹除次数(p/ecount)超过6000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为6%。当记忆胞的编程抹除次数(p/ecount)超过8000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为10%。将第三实施例的控制方法运用于固态储存装置10后,当记忆胞阵列109中的记忆胞的编程抹除次数(programerasecount,p/ecount)少于2000次时,读取一个区块(block)的数据时需要进行读取重试(readretry)的机率prr(probabilityofreadretry)约为0.1%。当记忆胞的编程抹除次数(p/ecount)超过2000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr为0.1%。当记忆胞的编程抹除次数(p/ecount)超过4000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为0.8%。当记忆胞的编程抹除次数(p/ecount)超过6000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为1%。当记忆胞的编程抹除次数(p/ecount)超过8000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率prr上升为2%。明显地,将第一实施例或者第三实施例的控制方法运用于固态储存装置10后,在实际的运作过程中可大幅降低接口控制电路101进行读取重试的机率,因此可以保持固态储存装置10的读取速度。再者,本发明利用机器学习演算法来建构一预测模型(predictionmodel)用来预测区块发生读取重试的机率。而预测模型可为一预测方程式(predictionfunction)或者一对照表(lookuptable)。针对记忆胞阵列109的各种状况,固态储存装置10的设计者于出厂前搜集针对记忆胞阵列109内各个区块(block)的区块信息、环境信息与读取重试之间的关系,并形成一数据库。举例来说,区块信息可以是区块数据放置时间(dataretentiontime)、区块编程时间(programtime)、区块抹除时间(erasetime)、错误位元(errorbit)、或者现在的读取重试机率。而环境信息可以是固态储存装置10现在的操作温度、在此温度累积操作的时间、或者是先前的操作温度。当然,区块(block)的区块信息、环境信息并不以此为限。例如,区块编程次数(programcount)、区块抹除次数(erasecount)、区块读取次数(readcount)也可以作为区块信息。接着,利用机器学习演算法(machinelearningalgorithm)由数据库的内容来获得一预测模型。而此预测模型为一预测方程式,其为区块信息与环境信息的函数。举例来说,利用线性回归法(linearregression)来获得预测方程式,且预测方程式为区块编程时间(pt)、区块抹除时间(et)、错误位元(eb)、操作温度的函数。亦即,prr(pt,et,eb,t)=c1·pt+c2·et+c3·eb+c4·t,且c1、c2、c3、c4为系数。而上述的预测模型(预测方程式)即于固态储存装置10出厂场时即储存于接口控制电路101内。于固态储存装置10正常运作时,当接口控制电路101将区块编程时间(pt)、区块抹除时间(et)、错误位元(eb)、操作温度输入预测方程式后,可产生一读取重试机率prr,用以代表该区块在未来几天之内发生读取重试的机率prr。除了预测方程式之外,预测模型也可以是一对照表(lookuptable)。亦即,当接口控制电路101将编程时间(pt)、抹除时间(et)、错误位元(eb)、操作温度输入对照表后,可产生一读取重试机率prr,用以代表该区块在未来几天之内发生读取重试的机率。当然,本发明并不限定于利用线性回归法来获得预测模型。也可以利用拉索回归法(lassoregression)或者瑞吉回归法(ridgeregression)来获得预测模型。由以上的说明可知,本发明的优点在于提出一种固态储存装置及其相关控制方法。当固态储存装置10正常运作时,接口控制电路101每隔一预设时间,检查记忆胞阵列109中的一个区块在未来几天之内进行读取重试的机率。并适当地标记(tag)该区块或者刷新(refresh)该区块中的数据。如此,将可防止固态储存装置的读取速度降低。当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1