固态储存装置的断电期间估计方法转让专利

申请号 : CN201610151191.0

文献号 : CN107204204B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 曾士家傅仁傑

申请人 : 建兴储存科技(广州)有限公司

摘要 :

一种固态储存装置的断电期间估计方法。该固态储存装置具有一非挥发性记忆体,包括多个区块。该方法包括下列步骤:于该固态储存装置断电之前计算一第一区块的一第一品质参数,并于一第一时间计数值时,对该第一区块进行一校正动作,获得该第一区块的一第一读取电压组,并记录该第一时间计数值;于该固态储存装置接收电源之后,对该第一区块进行该校正动作,获得该第一区块的一第二读取电压组;以及根据该第一品质参数、该第一读取电压组、该第二读取电压组与该第一时间计数值,获得一断电期间。

权利要求 :

1.一种固态储存装置的断电期间估计方法,该固态储存装置具有一非挥发性记忆体,该非挥发性记忆体中的一记忆体阵列内包括多个区块,其特征在于,该断电期间估计方法包括下列步骤:于该固态储存装置断电之前计算一第一区块的一第一品质参数,并于一第一时间计数值时,对该第一区块进行一校正动作,获得该第一区块的一第一读取电压组,并记录该第一时间计数值;

于该固态储存装置断电之前计算一第二区块的一第二品质参数,并于一第三时间计数值时,对该第二区块进行一校正动作,获得该第二区块的一第三读取电压组,并记录该第三时间计数值;

于该固态储存装置接收电源之后,对该第一区块进行该校正动作,获得该第一区块的一第二读取电压组;

根据该第一品质参数、该第一读取电压组、该第二读取电压组与该第一时间计数值,获得一断电期间;以及于该固态储存装置接收电源之后,对根据该断电期间、该第二品质参数、该第三读取电压组与该第三时间计数值,计算出一第四读取电压组。

2.如权利要求1所述的断电期间估计方法,其特征在于,更包括下列步骤:根据该第一品质参数、该第一读取电压组、该第二读取电压组与该第一时间计数值,计算出一第二时间计数值;

将该第二时间计数值减去该第一时间计数值,获得该断电期间。

3.如权利要求2所述的断电期间估计方法,其特征在于,该第一读取电压组包括一第一读取电压,该第二读取电压组包括一第二电压,将该第二读取电压取对数减去该第一读取电压取对数获得一第一结果;将该第二时间计数值取对数减去该第一时间计数值取对数获得一第二结果,将该第一结果除以该第二结果等于该第一品质参数。

4.如权利要求1所述的断电期间估计方法,其特征在于,获得该第一品质参数包括下列步骤:记录该第一区块的一抹除次数;以及

将该抹除次数代入一品质参数方程式,获得该第一品质参数。

5.如权利要求1所述的断电期间估计方法,其特征在于,获得该第一品质参数包括下列步骤:记录该第一区块的一抹除次数;

读取该第一区块,获得该第一区块的一错误位;以及

将该抹除次数与该错误位代入一品质参数方程式,获得该第一品质参数。

6.如权利要求1所述的断电期间估计方法,其特征在于,更包括下列步骤:将该第一时间数值加上该断电期间成为一出厂累计时间。

7.如权利要求1所述的断电期间估计方法,其特征在于,该固态储存装置中包括一计时器,当该固态储存装置接收电源时,该计时器经过一固定时间,将一计数值加1。

8.如权利要求7所述的断电期间估计方法,其特征在于,对该第一区块进行该校正动作时,将该计时器输出的该计数值记录为该第一时间计数值。

说明书 :

固态储存装置的断电期间估计方法

技术领域

[0001] 本发明涉及一种固态储存装置及其控制方法,且特别涉及一种运用于固态储存装置的断电期间(power-off period)估计方法。

背景技术

[0002] 众所周知,固态储存装置(solid state device)已经非常广泛的应用于各种电子产品,例如SD卡、固态硬碟等等。请参照图1,其所绘示为固态储存装置示意图。固态储存装置10包括:界面控制电路101以及非挥发性记忆体(non-volatile memory)105。其中,非挥发性记忆体105中更包含记忆体阵列109和阵列控制电路111。
[0003] 固态储存装置10经由一外部总线12连接至主机(host)14,其中外部总线12可为USB总线、SATA总线、PCIe总线等等。再者,界面控制电路101经由一内部总线113连接至非挥发性记忆体105,用以根据主机14所发出的命令进一步操控阵列控制电路111,用以将主机14的写入数据存入记忆体阵列109。或者,根据主机14所发出的命令进一步操控阵列控制电路111,使得阵列控制电路111由记忆体阵列109中取得读取数据,经由界面控制电路101传递至主机14。
[0004] 再者,记忆体阵列109是由多个记忆胞(memory cell)所组成。再者,根据每个记忆胞所储存的数据量,可进一步区分为每个记忆胞储存一位元的单层记忆胞(Single-Level Cell,简称SLC记忆胞)、每个记忆胞储存二位元的多层记忆胞(Multi-Level Cell,简称MLC记忆胞)以及每个记忆胞储存三位元的三层记忆胞(Triple-Level Cell,简称TLC记忆胞)。
[0005] 在记忆体阵列109里,每个记忆胞内皆包括一浮栅晶体管(floating gate transistor),而阵列控制电路111可控制热载子(hot carrier)注入浮栅极(floating gate)的数量,即可控制浮栅晶体管的储存状态。换言之,一个记忆胞内的浮栅晶体管可记录二种储存状态即为SLC记忆胞;一个记忆胞内的浮栅晶体管可记四种储存状态即为MLC记忆胞;一个记忆胞内的浮栅晶体管可记录八种储存状态即为TLC记忆胞。
[0006] 再者,浮栅晶体管的浮栅极可以储存热载子,而根据热载子储存量的多寡可决定该浮栅晶体管的临限电压(threshold voltage,简称VTH)。也就是说,具有较高的临限电压的浮栅晶体管需要较高的栅极电压(gate voltage)来开启(turn on)浮栅晶体管;反之,具有较低的临限电压的浮栅晶体管则可以用较低的栅极电压来开启浮栅晶体管。
[0007] 因此,于固态储存装置的编程周期(program cycle)时,界面控制电路101利用阵列控制电路111控制注入浮栅的热载子量,即可改变浮栅晶体管的临限电压。而在读取周期(read cycle)时,阵列控制电路111提供读取电压至浮栅晶体管,并根据浮栅晶体管是否能被开启(turn on)来判断其储存状态。
[0008] 请参照图2A,其所绘示为TLC记忆胞的储存状态示意图。TLC记忆胞的一个记忆胞可以根据不同的热载子的注入量而呈现八个储存状态“000”~“111”。在未注入热载子时,记忆胞可视为储存状态“000”,而随着热载子注入的量的增加,可再区分为其他七种储存状态。举例来说,储存状态“111”的记忆胞具有最高的临限电压准位,储存状态“000”的记忆胞具有最低的临限电压准位。再者,当记忆胞经过抹除周期之后,皆会回复至未注入热载子的储存状态“000”。
[0009] 一般而言,于编程周期时,若将多个记忆胞编程为相同的储存状态时,并非每个记忆胞的临限电压都会相同,而是会呈现一分布曲线(distribution curve),且其分布曲线可对应至一中位临限电压。由图2A可知,储存状态“000”的中位临限电压为0V,储存状态“001”的中位临限电压为5V、储存状态“010”的中位临限电压为10V、储存状态“011”的中位临限电压为15V、储存状态“100”的中位临限电压为20V,储存状态“101”的中位临限电压为25V、储存状态“110”的中位临限电压为30V、储存状态“111”的中位临限电压为35V。举例来说,在统计储存状态“001”的所有记忆胞的临限电压后,中位临限电压5V的记忆胞数目最多。
[0010] 如图2A所示,根据TLC快闪记忆体中各个储存状态的分布曲线即可据以产生七个读取电压Vra~Vrg作为一读取电压组(read voltage set)。于读取周期时,阵列控制电路111即可依序提供读取电压组的读取电压至字元线(word line),用以检测TLC快闪记忆体中的记忆胞的储存状态。
[0011] 举例来说,当阵列控制电路111提供读取电压Vrd至记忆体阵列109后,可以决定记忆胞的最高位元(most significant bit,MSB)。假设记忆胞的临限电压小于读取电压Vrd而被开启,则阵列控制电路111将该记忆胞的MSB判定为“0”;假设记忆胞的临限电压大于读取电压Vrd而无法被开启,则阵列控制电路111将该记忆胞的MSB判定为“1”。
[0012] 再者,当确定记忆胞的MSB为“0”时,阵列控制电路111可再提供读取电压Vra、Vrb、Vrc以确认记忆胞的另外二个位元。或者,当确定记忆胞的MSB为“1”时,阵列控制电路111可再提供读取电压Vre、Vrf、Vrg以确认记忆胞的另外二个位元。换言之,读取电压组Vra~Vrg是用来决定TLC记忆胞储存状态的重要依据。
[0013] 另外,非挥发性记忆体105的记忆体阵列109中更被区分为多个区块(block),而阵列控制电路111会利用对应的读取电压组来读取该区块中的TLC记忆胞。举例来说,假设由TLC记忆胞所组成的记忆体阵列109中具有1024个区块,则界面控制电路101中可记录1024个相对应的读取电压组,再经由阵列控制电路111来读取对应的区块。
[0014] 由于TLC记忆胞中的热载子会随着时间的增加而退出(eject)浮栅极,使得TLC记忆胞中每个储存状态的分布曲线改变且中位临限电压也会产生偏移。因此,当电源提供至固态储存装置10且主机14与固态储存装置10之间没有数据存取时,界面控制电路101可以经由阵列控制电路111对非挥发性记忆体105进行背景监控动作(background monitoring action),用以监测每个区块所对应的读取电压组的变化并且予以修正。
[0015] 请参照图2B,其所绘示为TLC记忆胞的储存状态的分布曲线偏移示意图。当固态储存装置10断电并放置一段时间之后,TLC记忆胞的每个储存状态分布曲线已经改变。由于固态储存装置10断电之后,界面控制电路101无法进行背景监控动作。当固态储存装置10再次接收到电源时,界面控制电路101提供既有的读取电压组Vra~Vrg来操控阵列控制电路111读取一个区块的数据时,将会产生过多的错误位元(error bit),而无法获得读取数据。
[0016] 为了要能够获得正确的读取数据,界面控制电路101会启动读取重试流程(read retry)以获得正确的读取电压组。于读取重试流程时,界面控制电路101会由重试表(retry)所提供的多个读取电压组(例如M个读取电压组)中提出一个读取电压组,经阵列控制电路111用于读取一个区块中的TLC记忆胞。
[0017] 如果发生读取失败,则界面控制电路101启动另一次读取重试流程。亦即,界面控制电路101再次由重试表中的M个读取电压组中提出另一个读取电压组,再经阵列控制电路111用于读取一个区块中TLC记忆胞。如此反复进行直到特定的读取电压组Vra’~Vrg’能够成功读取一个区块的TLC记忆胞为止。在最糟的情况之下,界面控制电路101可能会进行M次读取重试流程才能正确地获得一个区块的读取电压组。
[0018] 同理,如果非挥发性记忆体105中的记忆体阵列109有1024个区块,则界面控制电路101在最差的情况下可能要进行1024×M次的读取重试流程,才可能获得1024个区块所对应的读取电压组。甚至当重试表中的M个读取电压组都无效时,得启用特殊演算法来猜测读取电压,则需花费更长的时间,才能获得数据。
[0019] 由以上的说明可知,当现有固态储存装置10断电并放置一段时间之后再次接收电源时。若TLC记忆胞每个储存状态的分布曲线已经改变,界面控制电路101必须耗费大量的效能进行读取重试流程,因此将造成固态储存装置10的存取速度(access speed)大幅下降,最糟的情况可能会剩下最高存取速度的5%~10%左右。

发明内容

[0020] 本发明的目的在于提供一种固态储存装置的断电期间(power off period)估计方法,该固态储存装置具有一非挥发性记忆体,该非挥发性记忆体中的一记忆体阵列内包括多个区块,该断电期间估计方法包括下列步骤:于该固态储存装置断电之前计算一第一区块的一第一品质参数,并于一第一时间计数值时,对该第一区块进行一校正动作,获得该第一区块的一第一读取电压组,并记录该第一时间计数值;于该固态储存装置接收电源之后,对该第一区块进行该校正动作,获得该第一区块的一第二读取电压组;根据该第一品质参数、该第一读取电压组、该第二读取电压组与该第一时间计数值,获得一断电期间。
[0021] 以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

[0022] 图1所绘示为现有固态储存装置示意图;
[0023] 图2A与图2B为TLC记忆胞的储存状态示意图;
[0024] 图3为本发明固态储存装置示意图;
[0025] 图4A与图4B所绘示为固态储存装置中记忆胞的读取电压变化与时间的关系图;
[0026] 图5所绘示为品质参数方程式的建立示意图;
[0027] 图6A与图6B所绘示为本发明固态储存装置的运作流程示意图。

具体实施方式

[0028] 下面结合附图对本发明的结构原理和工作原理作具体的描述:
[0029] 本发明提出一种固态储存装置的断电期间估计方法,用来估计固态储存装置的断电期间,并且补偿读取电压组。当固态储存装置再次接收到电源时,控制电路可估计出断电期间,并且利用断电期间的信息快速计算出所有区块对应的最佳读取电压组。
[0030] 请参照图3,其所绘示为本发明固态储存装置示意图。固态储存装置30包括:界面控制电路301以及非挥发性记忆体305,其中,非挥发性记忆体305中更包含记忆体阵列309和阵列控制电路311。
[0031] 再者,界面控制电路301中包括一计时器(time counter)307。只要固态储存装置30接收电源,计时器307会在固定的时间之后将一计数值加1。举例来说,当固态储存装置30接收电源后,计时器307每经过一个小时会将计数值加1。换言之,根据计时器307的计数值可以得知固态储存装置30在接收电源之后大约的总运作小时数。
[0032] 请参照图4A与图4B,其所绘示为固态储存装置中记忆胞的读取电压变化与时间的关系图。如图4A所示,由于TLC记忆胞的储存状态分布曲线会随着时间的增加而偏移,因此TLC记忆胞的读取电压Vrx也必须随着时间增加而逐渐降低。再者,图4A中的读取电压Vrx是以读取电压组中一个读取电压(例如读取电压Vrd)为例来进行说明,其他的读取电压变化亦有类似的趋势,不再赘述。
[0033] 图4B是以对数座标来表示读取电压变化与时间的关系图。明显地,在对数座标中,读取电压Vrx的变化与时间有线性的关系,其斜率m为: 其中,Vrx1为时间点t1的读取电压,Vrx2为时间点t2的读取电压。再者,斜率m定义为品质参数(quality parameter),且m为负值。
[0034] 另外,并非所有的TLC记忆胞会有相同的品质参数。一般来说,非挥发性记忆体的区块抹除次数(block erase count)增加时,对应区块的特性会变糟。而区块特性变糟时,区块的错误位元(error bit)也会增加。换句话说,当TLC记忆胞的特性变差时,品质参数会越来越小,而根据抹除次数以及区块的错误位元可以用来判断品质参数。
[0035] 请参照图5,其所绘示为品质参数方程式的建立示意图。于固态储存装置的制造商于出厂前,会先针对各种特性的区块进行大量统计,并建立品质参数方程式。举例来说,图5系统计抹除次数(erase count)、错误位元(error bit)与品质参数(m)之间的关系。在取得大量的数据之后,利用线性回归法来获得品质参数方程式,m(Ec,Eb)=c1×Ec+c2×Eb。其中,c1、c2为常数,Ec为抹除次数,Eb为错误位元。
[0036] 换言之,固态储存装置30的制造商将品质参数方程式记录于界面控制电路301中,当界面控制电路301进行背景监控动作(background monitoring action)时,除了可修正读取电压组之外,还可以根据非挥发性记忆体305中记忆体阵列309里各区块的抹除次数Ec与错误位元Eb来获得该区块的品质参数m。
[0037] 于本发明的实施例中,品质参数m为可为抹除次数(erase count)与错误位元(error bit)的函数。当然,本发明并不限定于此,在此领域的技术人员也可以加入区块的编程时间(program time)与区块的抹除时间(erase time)来进行判断。一般来说,当非挥发性记忆体305特性变差之后,区块的编程时间会缩短且抹除时间会增加。也就是说,在此领域的技术人员也可以利用抹除次数Ec、错误位元Eb、区块的编程时间与区块的抹除时间来获得区块的品质参数m。除此之外,品质参数m也可以仅为抹除次数的函数。或者,品质参数m仅为错误位元(error bit)的函数。
[0038] 请参照图6A与图6B,其所绘示为本发明固态储存装置的运作流程示意图。当固态储存装置30运作时,界面控制电路301判断是否接到主机14的指令(步骤S502)。当界面控制电路301接收到主机的指令(步骤S502)且该指令不是断电指令时(步骤S504),界面控制电路301执行主机14的指令(步骤S506)。界面控制电路301执行完主机14的指令之后,回到步骤S502。
[0039] 基本上,当主机14的指令为写入指令时,控界面控制电路301进一步操控阵列控制电路311,用以将主机14的写入数据存入记忆体阵列309。当主机14的指令为读取指令时,界面控制电路301进一步操控阵列控制电路311,使得阵列控制电路311由记忆体阵列309中取得读取数据,经由界面控制电路301传递至主机14。
[0040] 另外,当界面控制电路301并未接收到主机的指令(步骤S502)时,固态储储存装置30进入待机模式(idle mode),且界面控制电路301可执行背景监控动作(步骤S508)。
[0041] 根据本发明的实施例,界面控制电路301执行背景监控动作时,界面控制电路301会对非挥发性记忆体305中记忆体阵列309里各个区块进行校正动作。当界面控制电路301对一个区块进行校正动作时,会获得该区块的校正读取电压组,并且根据品质参数方程式计算该区块的品质参数,并且将记时器307所输出的计数值记录为时间计数值(time counting value)。换言之,当界面控制电路301对一个区块进行校正动作之后,可获得该区块的校正读取电压组、品质参数、以及时间计数值。再者,界面控制电路301进行区块校正动作后,会将校正读取电压组、品质参数m、以及时间计数值储存于非挥发性记忆体305中。
[0042] 基本上,于进行背景监控动作时,如果界面控制电路301再次收到主机14的指令,则界面控制电路301会停止背景监控动作(步骤S508)而执行主机的指令。而当固态储存装置30再次进入待机模式时,界面控制电路301再次执行背景监控动作,并可继续针对尚未校正的区块继续进行区块校正动作。
[0043] 根据本发明的实施例,当主机14的指令为断电指令时(步骤S504),界面控制电路301执行图6B的动作。如图6B所示,界面控制电路301对一特定区块进行区块校正动作,以获得该特定区块的一第一读取电压组以及第一时间计数值(步骤S510)。并且,控制电路301将第一读取电压组、第一品质参数、以及第一时间计数值储存于非挥发性记忆体305中。之后,固态储存装置30被断电。另外,界面控制电路301可在尚未执行图6B的动作之前,于执行背景监控动作时获得该特定区块的第一品质参数。或者,界面控制电路301执行步骤S510时,也可以根据品质参数方程式来获得该特定区块的第一品质参数。
[0044] 当该固态储存装置30再次接收电源时,界面控制电路301对该特定区块再次进行区块校正动作,以获得该特定区块的一第二读取电压组(步骤S512)。接着,控制电路301根据第一读取电压组、第二读取电压组、第一品质参数与第一时间计数值计算出断电期间(步骤S514)。
[0045] 举例来说,当控制电路301收到断电指令时,控制电路301对非挥发性记忆体305中的一特定区块进行区块校正后,获得第一读取电压组中的第一读取电压Vrd1为15V,第一品质参数m为-0.45,第一时间计数值t1为200。当固态储存装置30接收到电源后,控制电路301对该一特定区块再次进行区块校正后,获得第二读取电压组中的第二读取电压Vrd2为10V。
[0046] 根据上述的说明可知,第一时间计数值t1为200时,第一读取电压Vd1为15V;第二时间计数值t2时,第二读取电压Vd2为10V。由于前述的关系, 因此, 可计算出t2=492。所以断电期间即为t2-t1=492-200=
292(小时)。
[0047] 最后,根据计算出的断电期间,更新其他区块对应的读取电压组(步骤S516)。由于界面控制电路301执行背景监控动作时,已经针对其他的区块进行校正动作,因此所有的区块皆有对应的读取电压组、品质参数、以及时间计数值。因此,当固态储存装置30再次接收到电源,且断电期间已经计算出来后,控制电路即可更新所有区块的读取电压组。
[0048] 举例来说,界面控制电路301执行背景监控动作,于时间计数值为170时对第一区块进行区块校正动作,获得读取电压Vrx1为17V,品质参数为-0.35。因此,当固态储存装置30再次接收到电源,且计算出断电期间为292时,即可根据前述关系,
因此, 可计算出Vrx2=
13.6V。换言之,第一区块的更新读取电压即为13.6V。
[0049] 再者,当界面控制电路301更新完所有区块的读取电压组之后,界面控制电路301即可进行图6A的运作。
[0050] 由以上的说明可知,本发明提出一种固态储存装置的断电期间估计方法,用来估计固态储存装置10的断电期间。再者,利用计算出的断电期间,界面控制电路301可以据以更新非挥发性记忆体305中所有区块的读取电压组。换言之,当固态储存装置再次接收到电源时,界面控制电路301可快速地更新所有区块的读取电压组,使得固态储存装置30的存取速度不会大幅下降,并可以维持在高速的存取速度。
[0051] 根据以上之说明,本发明主要的特征在于固态储存装置30获得断电期间的流程。亦即,固态储存装置30断电之前界面控制电路301进行的区块校正动作,以获得特定区块的第一读取电压组、品质参数,并记录计时器307的第一时间计数值。并且,于固态储存装置30再次接收电源后,控制电路301再次对该特定区块进行区块校正动作后,获得第二读取电压组。而根据品质参数、第一读取电压组、第一时间计数值、第二读取电压组,界面控制电路
301即可计算出断电区间。
[0052] 当界面控制电路301计算出断电区间之后,控制电路301即可对非挥发性记忆体305中所有的区块计算出更新的读取电压组。并且运用于后续的读取动作。
[0053] 另外,本发明以TLC记忆胞为例来进行说明,但是并不限定于此,在此领域的技术人员也可以将本方法运用于其他的记忆胞。
[0054] 另外,当界面控制电路301获得固态储存装置30的断电期间后,也可以累计所有断电期间。而所有断电期间的总合再加上计时器307的计数值即为固态储存装置30离开工厂的出厂累计时间。而利用此出厂累计时间的信息,可作为固态储存装置30厂商的保固依据,或者其他的应用。举例来说,出厂累计时间可作为搬动甚少存取记忆体阵列309里区块的依据。
[0055] 当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。