CN109378027A - 固态储存装置的控制方法 - Google Patents

固态储存装置的控制方法 Download PDF

Info

Publication number
CN109378027A
CN109378027A CN201710676223.3A CN201710676223A CN109378027A CN 109378027 A CN109378027 A CN 109378027A CN 201710676223 A CN201710676223 A CN 201710676223A CN 109378027 A CN109378027 A CN 109378027A
Authority
CN
China
Prior art keywords
block
storage device
solid state
state storage
data
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.)
Pending
Application number
CN201710676223.3A
Other languages
English (en)
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.)
Jianxing Storage Technology Co., Ltd
Original Assignee
Lite On Technology 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 Lite On Technology Corp filed Critical Lite On Technology Corp
Priority to CN201710676223.3A priority Critical patent/CN109378027A/zh
Priority to US15/798,995 priority patent/US10319428B2/en
Publication of CN109378027A publication Critical patent/CN109378027A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40615Internal triggering or timing of refresh, e.g. hidden refresh, self refresh, pseudo-SRAMs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4091Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

一种固态储存装置的控制方法,包括下列步骤:检查一记忆胞阵列中的一区块;判断该区块的数据放置时间是否超过一临限时间;以及于确认该区块的数据放置时间超过该临限时间时,标记该区块或者刷新该区块中的数据。

Description

固态储存装置的控制方法
技术领域
本发明涉及一种固态储存装置的控制方法,且特别涉及一种固态储存装置降低读取重试(read retry)的控制方法。
背景技术
众所周知,固态储存装置(solid state device)已经非常广泛的应用于各种电子产品,例如SD卡、固态硬碟等等。一般来说,固态储存装置是由接口控制电路以及非挥发性记忆体(non-volatile memory)组合而成。再者,固态储存装置又可称为快闪记忆体(flashmemory)。
请参照图1,其所绘示为固态储存装置示意图。固态储存装置10包括:接口控制电路101以及非挥发性记忆体105。其中,非挥发性记忆体105中更包含记忆胞阵列(memorycell array)109和阵列控制电路(array control circuit)111。再者,记忆胞阵列109由多个记忆胞(memory cell)所组成。一般而言,记忆胞阵列被划分成多个区块(block),每个区块再分成多个页(page)。
固态储存装置10经由一外部总线12连接至主机(host)14,其中外部总线12可为USB总线、SATA总线、PCIe总线等等。再者,接口控制电路101经由一内部总线113连接至非挥发性记忆体105,用以根据主机14所发出的命令进一步操控阵列控制电路111,用以将主机14的写入数据存入记忆胞阵列109。或者,根据主机14所发出的命令进一步操控阵列控制电路111,使得阵列控制电路111由记忆胞阵列109中取得读取数据,经由接口控制电路101传递至主机14。
基本上,接口控制电路101中有一组预设读取电压组(default read voltageset)。于读取周期(read cycle)时,接口控制电路101,经由内部总线113,传送操作指令到非挥发性记忆体105内的阵列控制电路111,令其利用此预设读取电压组来判断非挥发性记忆体105中记忆胞阵列109之前所存入的数据成为读取数据。
再者,接口控制电路101中的错误校正码电路(简称ECC电路)104用来更正读取数据中的错误位元(error bits),并且于更正完成后将正确的读取数据传递至主机14。另外,当ECC电路104无法成功地校正读取数据中所有的错误位元时,则无法输出正确的读取数据至主机14。此时,接口控制电路101另提供其他多组重试读取电压组(read retry voltageset),使接口控制电路101采用重试读取电压组来对非挥发性记忆体105进行读取重试(read retry)。详细说明如下:
根据每个记忆胞所储存的数据量,可进一步区分为每个记忆胞储存一位元的单层记忆胞(Single-Level Cell,简称SLC记忆胞)、每个记忆胞储存二位元的多层记忆胞(Multi-Level Cell,简称MLC记忆胞)以及每个记忆胞储存三位元的三层记忆胞(Triple-Level Cell,简称TLC记忆胞)。因此,记忆胞阵列109可为SLC记忆胞阵列、MLC记忆胞阵列或者TLC记忆胞阵列。
在记忆胞阵列109里,每个记忆胞内皆包括一浮动栅晶体管(floating gatetransistor),而阵列控制电路111可控制热载子(hot carrier)注入浮动栅极(floatinggate)的数量,即可控制浮动栅晶体管的储存状态。换言之,一个记忆胞内的浮动栅晶体管可记录二种储存状态即为SLC记忆胞;一个记忆胞内的浮动栅晶体管可记录四种储存状态即为MLC记忆胞;一个记忆胞内的浮动栅晶体管可记录八种储存状态即为TLC记忆胞。
请参照图2A,其所绘示为TLC记忆胞的储存状态示意图。TLC记忆胞的一个记忆胞可以根据热载子的注入量而呈现八个储存状态“Erase”、“A”~“G”。在未注入热载子时,记忆胞可视为储存状态“Erase”,而随着热载子注入的量的增加,可再区分为其他七种储存状态“A”~“G”。举例来说,储存状态“G”的记忆胞具有最高的临限电压准位,储存状态“Erase”的记忆胞具有最低的临限电压准位。再者,当记忆胞经过抹除动作(erase action)之后,皆会回复至未注入热载子的储存状态“Erase”。
一般而言,于编程周期(program cycle)时,若将多个记忆胞编程为相同的储存状态时,并非每个记忆胞的临限电压都会相同,而是会呈现一分布曲线(distributioncurve),且其分布曲线可对应至一中位临限电压。由图2A可知,储存状态“Erase”的中位临限电压为Ver,储存状态“A”的中位临限电压为Va、储存状态“B”的中位临限电压为Vb、储存状态“C”的中位临限电压为Vc、储存状态“D”的中位临限电压为Vd,储存状态“E”的中位临限电压为Ve、储存状态“F”的中位临限电压为Vf、储存状态“G”的中位临限电压为Vg。举例来说,在统计储存状态“A”的所有记忆胞的临限电压后,中位临限电压Va的记忆胞数目最多。
如图2A所示,根据TLC记忆胞中各个储存状态的分布曲线即可据以产生七个读取电压Vra~Vrg作为预设读取电压组(default read voltage set)。于读取周期时,接口控制电路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/Room temperature baking)、重复读取(read disturb)的情况。上述的各种情况也会造成记忆胞阵列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记忆胞储存状态时,将会造成读取数据中的错误位元(error bits)增加。当ECC电路104无法成功地校正读取数据中所有的错误位元,使得接口控制电路101无法输出正确的读取数据至主机14时,接口控制电路101需要提供其他的重试读取电压组Vra'~Vrg'来进行读取重试(read retry)。
请参照图3,其所绘示为现有固态储存装置的错误更正流程示意图。于读取周期时,接口控制电路101先进行解码流程(decoding process)A,其为利用预设读取电压组来进行硬式解码(hard decoding)。于进行解码流程A时,接口控制电路101提供预设读取电压组至非挥发记忆体105,并利用ECC电路104中的硬式解码(hard decoding method)来校正读取数据。
当读取数据中的错误位元可以被更正时,代表通过(pass)解码流程A而解码成功。因此,接口控制电路101即可将正确的读取数据传递至主机14。反之,当读取数据中的错误位元无法被更正时,将无法获得正确的读取数据,代表解码流程A失败(fail),因此接口控制电路101进入读取重试(read retry)。
再者,当接口控制电路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,其为利用重试读取电压组来进行软式解码(soft decoding)。相较于硬式解码,软式解码具有更佳的错误更正能力,但是需要同时利用多笔重试读取电压组才能够获得一笔读取数据。因此,软式解码会更耗时,意即解码流程C所需的时间大于解码流程B。
同理,只要接口控制电路101能够解码成功时,即代表通过(pass)解码流程C,并可将正确的读取数据传递至主机14。反之,如果接口控制电路101无法解码成功时,即代表解码流程C失败(fail)。因此,接口控制电路101确定无法获得正确的读取数据,并且回复主机14解码失败。
由以上固态储存装置的错误更正流程可知,当解码流程A失败后,接口控制电路101会进入读取重试(read retry)。而读取重试时,接口控制电路101需要先进行解码流程B。再者,于确认解码流程B失败后,接口控制电路101继续进行解码流程C。另外,当接口控制电路101确认解码流程C失败后,回复主机14解码失败。
请参照图4,其所绘示为现有固态储存装置的读取重试机率示意图。基本上,记忆胞阵列109中的记忆胞经过多次的编程与抹除后,其特性会越来越差寿命会越短。因此,于读取周期时,遇到读取重试的机率会逐渐增加。
如图4所示,当固态储存装置10刚出厂时,记忆胞阵列109中的区块(block)其编程抹除次数(program erase count,P/E count)少,记忆胞的特性较佳。此时,读取一个区块(block)的数据时需要进行读取重试(read retry)的机率Prr(probability of readretry)约为0.1%。
随着记忆胞阵列109的记忆胞编程抹除次数增加。于读取周期时,每个区块需要进行读取重试(read retry)的机率Prr会逐渐上升。
如图4所示,当记忆胞的编程抹除次数(P/E count)超过2000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为1%。当记忆胞的编程抹除次数(P/E count)超过4000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为10%。当记忆胞的编程抹除次数(P/E count)超过6000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为25%。当记忆胞的编程抹除次数(P/E count)超过8000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为60%。
由以上的说明可知,当固态储存装置10刚出厂时,编程抹除次数(P/E count)很少,记忆胞的特性较佳,此时固态储存装置10的数据读取速度几乎不会受到影响。而随着编程抹除次数(P/E count)增加,需要进行读取重试的机率上升,导致固态储存装置10的数据读取速度越来越慢。
发明内容
本发明有关于一种固态储存装置的控制方法,包括下列步骤:检查一记忆胞阵列中的一区块;判断该区块的数据放置时间是否超过一临限时间;以及于确认该区块的数据放置时间超过该临限时间时,标记该区块或者刷新该区块中的数据。
本发明有关于一种固态储存装置的控制方法,包括下列步骤:检查一记忆胞阵列中的一区块;当该区块的一编程抹除次数超过一临限次数时,获得一区块信息与一环境信息;根据该区块信息与该环境信息来预测未来一固定天数内发生一读取重试的机率;以及于确认未来该固定天数内发生该读取重试的机率大于一临限机率时,标记该区块或者刷新该区块中的数据。
本发明有关于一种固态储存装置的控制方法,包括下列步骤:检查一记忆胞阵列中的一区块;判断该区块的数据放置时间是否超过一临限时间;以及于确认该区块的数据放置时间超过该临限时间时,标记该区块或者刷新该区块中的数据;于确认该区块的数据放置时间未超过该临限时间且该区块的一编程抹除次数超过一临限次数时,获得一区块信息与一环境信息;根据该区块信息与该环境信息来预测未来一固定天数内发生一读取重试的机率;以及于确认未来该固定天数内发生该读取重试的机率大于一临限机率时,标记该区块或者刷新该区块中的数据。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为固态储存装置示意图。
图2A为TLC记忆胞的储存状态示意图。
图2B为TLC记忆胞的储存状态偏移示意图。
图3为现有固态储存装置的错误更正流程示意图。
图4为现有固态储存装置的读取重试机率示意图。
图5A至图5B为区块数据与错误位元之间的关系示意图。
图6为本发明固态储存装置的控制方法第一实施例流程图。
图7为本发明固态储存装置的控制方法第二实施例流程图。
图8为本发明固态储存装置的控制方法第三实施例流程图。
图9为本发明固态储存装置的读取重试机率示意图。
具体实施方式
下面结合附图对本发明的结构原理和工作原理作具体的描述:
由固态储存装置10的运作原理可知,当接口控制电路101进入读取重试(readretry)后,不论进行解码流程B或者解码流程C,皆会耗费相对长的时间来获得正确的读取数据。因此,本发明提出一种固态储存装置及其相关控制方法,用以降低接口控制电路101进行读取重试(read retry)的机率。
基本上,本发明的控制方法可运用于图1所示的固态储存装置10。亦即,利用接口控制电路101来执行本发明的控制方法,即可有效地降低接口控制电路101进行读取重试(read retry)的机率。
一般来说,当储存状态的分布曲线偏移太严重时,接口控制电路101提供预设读取电压组来判断非挥发性记忆体105中的读取数据时,读取数据中会产生过多的错误位元(error bits),并使得ECC电路104无法成功地校正读取数据中所有的错误位元。此时,接口控制电路101需要进行读取重试。
而当接口控制电路101进行读取重试时,固态储存装置10的读取速度就会明显地下降。如果接口控制电路101进行解码流程B与解码流程C之后,仍无法获得正确的读取数据时,更会造成读取失败而数据流失的情况发生。
请参照图5A至图5B,其所绘示为区块数据与错误位元之间的关系示意图。其中,Bth代表ECC电路104利用硬式解码的校正能力(decoding capability);Bth’代表ECC电路104利用软式解码的校正能力。亦即,当一个区块中的错误位元数目小于Bth时,ECC电路104利用硬式解码可成功校正而获得正确的读取数据。同理,每个区块中的错误位元数目小于Bth'时,ECC电路104利用软式解码可成功校正而获得正确的读取数据。
如图5A所示,固态储存装置10的记忆胞阵列109特性很优异时,每个区块所产生的错误位元会小于Bth。此时,接口控制电路101利用预设读取电压组来获得读取数据,并利用硬式解码即可成功校正而获得正确的读取数据。因此,记忆胞阵列109中读取一个区块的数据时需要进行读取重试(read retry)的机率Prr为零。
如图5B所示,而随着记忆胞阵列109中记忆胞的特性逐渐劣化。利用预设读取电压组来获得读取数据时,会有部分区块(右侧的A个区块)的读取数据,其错误位元数目超过Bth。而接口控制电路101需要针对该部分区块(右侧的A个区块)进行读取重试。
换言之,记忆胞阵列109中读取一个区块的数据时需要进行读取重试(readretry)的机率Prr即为(A/区块总数)。举例来说,记忆胞阵列109中共有1024个区块,且有100个区块需要进行读取重试,则需要进行读取重试(read retry)的机率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判断区块的数据放置时间(data retention time)是否超过一临限时间(步骤S604)。基本上,临限时间可根据记忆胞阵列109的特性来设定。举例来说,当记忆胞阵列109的特性尚佳时,临限时间可以设定为较长的14天(二个星期);当记忆胞阵列109的特性较差时,临限时间可以设定为较短的7天(一个星期)。
当区块中数据的放置时间未超过临限时间时(步骤S604),则不进行任何动作并回到步骤S602。换言之,由于该区块中数据的放置时间未超过临限时间,代表在未来几天之内读取该区块的数据时,接口控制电路101进行读取重试的机率较小。基本上,未来几天即代表未来的固定天数(例如未来3天)之内,读取该区块的数据时,接口控制电路101进行读取重试的机率较小。
反之,当区块中数据的放置时间超过临限时间时(步骤S604),则标记(Tag)该区块或者刷新(refresh)该区块中的数据(步骤S606)。由于该区块中数据的放置时间已超过临限时间,代表在未来几天之内读取该区块的数据时,接口控制电路101进行读取重试的机率较大。因此,接口控制电路101可以标记该区块,于未来读取该区块的数据时,直接利用重试读取电压组来获得读取数据,以防止读取速度降低。
或者,接口控制电路101直接刷新(refresh)该区块中的数据。其中,刷新该区块的数据是将储存于该区块的数据搬移至记忆胞阵列109中的一空白区块(blank block)。
根据本发明的第一实施例,接口控制电路101周期性的刷新(periodic refresh)数据放置时间过久的区块。当刷新动作完成后,旧区块的数据已经另外搬移至记忆胞阵列109中新的区块。换言之,新区块在写入数据后,可视为数据的放置时间由0开始重新计算。也就是说,读取该数据时,接口控制电路101进行读取重试的机率会大幅降低。
除了利用第一实施例所揭露的控制方法,周期性的刷新(periodic refresh)数据放置时间过久的区块之外。也可以利用机器学习演算法(machine learning algorithm)来建构一预测模型(prediction model)用来预测区块发生读取重试的机率。当预测出一特定区块在未来几天之内(例如未来3天之内)发生读取重试的机率高于一临限机率时,则标记该特定区块或者刷新该特定区块。例如其中该临限机率可设定为10%。
请参照图7,其所绘示为本发明固态储存装置的控制方法第二实施例流程图。首先,当固态储存装置10正常运作时,接口控制电路101每隔一预设时间,检查记忆胞阵列109中的一个区块(步骤S702)。举例来说,预设时间可设定为20分钟。当然,本发明并不限定于固定时间来检查记忆胞阵列109中的区块。也可以在固态储存装置10未执行指令时的闲置状态(idle),再来检查记忆胞阵列109中的区块。如此,可降低固态储存装置10的负载(loading)。
接着,接口控制电路101判断该区块的编程抹除次数是否超过临限次数(步骤S704)。当该区块的编程抹除次数未超过临限次数,代表在未来几天之内读取该区块的数据时,接口控制电路101进行读取重试的机率较小,因此不需要进行任何动作并回到步骤S702。
当该区块的编程抹除次数超过临限次数时,则接口控制电路101获得区块信息(block information)与环境信息(environment information)(步骤S706)。根据本发明的实施例,区块信息可以是区块的数据放置时间(data retention time)、编程时间(programtime)、抹除时间(erase time)、错误位元(error bit)、或者读取重试机率等等信息。而环境信息可以是固态储存装置10现在的操作温度、在此温度累积操作的时间或者是先前的操作温度、在此先前温度累积操作的时间等等信息。
基本上,区块信息可以代表该区块对应的记忆胞现在的特性。举例来说,区块的编程时间以及抹除时间较短,代表该区块所对应的记忆胞具有较佳的特性。而区块的编程时间以及抹除时间较长,则代表该区块所对应的记忆胞特性不佳。同理,错误位元(errorbit)的数目多寡也可代表该区块所对应的记忆胞特性。而利用错误位元更可以估算该区块现在的读取重试机率(current read retry probability)。
再者,为了降低接口控制电路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判断区块中数据的放置时间(data retention time)是否超过一临限时间(步骤S604)。当区块中数据的放置时间未超过临限时间时,则进入步骤S704。反之,当区块中数据的放置时间超过临限时间时,则标记该区块或者刷新(refresh)该区块中的数据(步骤S712)。
请参照图9,其所绘示为本发明固态储存装置的读取重试机率示意图。如图9所示,将第一实施例的控制方法运用于固态储存装置10后,当记忆胞阵列109中的记忆胞的编程抹除次数(P/E count)少于2000次时,读取一个区块(block)的数据时需要进行读取重试(read retry)的机率Prr约为0.1%。当记忆胞的编程抹除次数(P/E count)超过2000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为1%。当记忆胞的编程抹除次数(P/E count)超过4000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率Prr上升为2%。当记忆胞的编程抹除次数(P/E count)超过6000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为6%。当记忆胞的编程抹除次数(P/E count)超过8000次时,读取一个区块的数据时需要进行读取重试(readretry)的机率Prr上升为10%。
将第三实施例的控制方法运用于固态储存装置10后,当记忆胞阵列109中的记忆胞的编程抹除次数(program erase count,P/E count)少于2000次时,读取一个区块(block)的数据时需要进行读取重试(read retry)的机率Prr(probability of readretry)约为0.1%。当记忆胞的编程抹除次数(P/E count)超过2000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr为0.1%。当记忆胞的编程抹除次数(P/Ecount)超过4000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为0.8%。当记忆胞的编程抹除次数(P/E count)超过6000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为1%。当记忆胞的编程抹除次数(P/Ecount)超过8000次时,读取一个区块的数据时需要进行读取重试(read retry)的机率Prr上升为2%。
明显地,将第一实施例或者第三实施例的控制方法运用于固态储存装置10后,在实际的运作过程中可大幅降低接口控制电路101进行读取重试的机率,因此可以保持固态储存装置10的读取速度。
再者,本发明利用机器学习演算法来建构一预测模型(prediction model)用来预测区块发生读取重试的机率。而预测模型可为一预测方程式(prediction function)或者一对照表(look up table)。
针对记忆胞阵列109的各种状况,固态储存装置10的设计者于出厂前搜集针对记忆胞阵列109内各个区块(block)的区块信息、环境信息与读取重试之间的关系,并形成一数据库。
举例来说,区块信息可以是区块数据放置时间(data retention time)、区块编程时间(program time)、区块抹除时间(erase time)、错误位元(error bit)、或者现在的读取重试机率。而环境信息可以是固态储存装置10现在的操作温度、在此温度累积操作的时间、或者是先前的操作温度。当然,区块(block)的区块信息、环境信息并不以此为限。例如,区块编程次数(program count)、区块抹除次数(erase count)、区块读取次数(readcount)也可以作为区块信息。
接着,利用机器学习演算法(machine learning algorithm)由数据库的内容来获得一预测模型。而此预测模型为一预测方程式,其为区块信息与环境信息的函数。举例来说,利用线性回归法(linear regression)来获得预测方程式,且预测方程式为区块编程时间(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。
除了预测方程式之外,预测模型也可以是一对照表(look up table)。亦即,当接口控制电路101将编程时间(Pt)、抹除时间(Et)、错误位元(Eb)、操作温度输入对照表后,可产生一读取重试机率Prr,用以代表该区块在未来几天之内发生读取重试的机率。
当然,本发明并不限定于利用线性回归法来获得预测模型。也可以利用拉索回归法(Lasso regression)或者瑞吉回归法(Ridge regression)来获得预测模型。
由以上的说明可知,本发明的优点在于提出一种固态储存装置及其相关控制方法。当固态储存装置10正常运作时,接口控制电路101每隔一预设时间,检查记忆胞阵列109中的一个区块在未来几天之内进行读取重试的机率。并适当地标记(Tag)该区块或者刷新(refresh)该区块中的数据。如此,将可防止固态储存装置的读取速度降低。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (20)

1.一种固态储存装置的控制方法,其特征在于,包括下列步骤:
检查一记忆胞阵列中的一区块;
判断该区块的数据放置时间是否超过一临限时间;以及
于确认该区块的数据放置时间超过该临限时间时,标记该区块或者刷新该区块中的数据。
2.根据权利要求1所述的固态储存装置的控制方法,其特征在于,该固态储存装置的一接口控制电路每隔一预设时间检查该记忆胞阵列中的该区块。
3.根据权利要求1所述的固态储存装置的控制方法,其特征在于,该固态储存装置的一接口控制电路于读取该被标记的区块时,利用一读取重试电压组来获得一读取数据。
4.根据权利要求1所述的固态储存装置的控制方法,其特征在于,刷新该区块的数据时,将储存于该区块的数据搬移至该记忆胞阵列中的一空白区块。
5.一种固态储存装置的控制方法,其特征在于,包括下列步骤:
检查一记忆胞阵列中的一区块;
当该区块的一编程抹除次数超过一临限次数时,获得一区块信息与一环境信息;
根据该区块信息与该环境信息来预测未来一固定天数内发生一读取重试的机率;以及
于确认未来该固定天数内发生该读取重试的机率大于一临限机率时,标记该区块或者刷新该区块中的数据。
6.根据权利要求5所述的固态储存装置的控制方法,其特征在于,该固态储存装置的一接口控制电路每隔一预设时间检查该记忆胞阵列中的该区块。
7.根据权利要求5所述的固态储存装置的控制方法,其特征在于,该固态储存装置的一接口控制电路于读取该被标记的区块时,利用一读取重试电压组来获得一读取数据。
8.根据权利要求5所述的固态储存装置的控制方法,其特征在于,刷新该区块的数据时,将储存于该区块的数据搬移至该记忆胞阵列中的一空白区块。
9.根据权利要求5所述的固态储存装置的控制方法,其特征在于,将该区块信息与该环境信息输入一预测模型后,该预测模型输出未来该固定天数内发生该读取重试的机率。
10.根据权利要求9所述的固态储存装置的控制方法,其特征在于,该预测模型为一预测方程式或者一对照表。
11.根据权利要求10所述的固态储存装置的控制方法,其特征在于,该区块信息包括:一区块数据放置时间、一区块编程时间、一区块抹除时间、一错误位元、一现在的读取重试机率、一区块编程次数、一区块抹除次数、或者一区块读取次数。
12.根据权利要求10所述的固态储存装置的控制方法,其特征在于,该环境信息包括:一现在的操作温度或者一先前的操作温度。
13.一种固态储存装置的控制方法,其特征在于,包括下列步骤:
检查一记忆胞阵列中的一区块;
判断该区块的数据放置时间是否超过一临限时间;以及
于确认该区块的数据放置时间超过该临限时间时,标记该区块或者刷新该区块中的数据;
于确认该区块的数据放置时间未超过该临限时间且该区块的一编程抹除次数超过一临限次数时,获得一区块信息与一环境信息;
根据该区块信息与该环境信息来预测未来一固定天数内发生一读取重试的机率;以及
于确认未来该固定天数内发生该读取重试的机率大于一临限机率时,标记该区块或者刷新该区块中的数据。
14.根据权利要求13所述的固态储存装置的控制方法,其特征在于,该固态储存装置的一接口控制电路每隔一预设时间检查该记忆胞阵列中的该区块。
15.根据权利要求13所述的固态储存装置的控制方法,其特征在于,该固态储存装置的一接口控制电路于读取该被标记的区块时,利用一读取重试电压组来获得一读取数据。
16.根据权利要求13所述的固态储存装置的控制方法,其特征在于,刷新该区块的数据时,将储存于该区块的数据搬移至该记忆胞阵列中的一空白区块。
17.根据权利要求13所述的固态储存装置的控制方法,其特征在于,将该区块信息与该环境信息输入一预测模型后,该预测模型输出未来该固定天数内发生该读取重试的机率。
18.根据权利要求17所述的固态储存装置的控制方法,其特征在于,该预测模型为一预测方程式或者一对照表。
19.根据权利要求17所述的固态储存装置的控制方法,其特征在于,该区块信息包括:一区块数据放置时间、一区块编程时间、一区块抹除时间、一错误位元、一现在的读取重试机率、一区块编程次数、一区块抹除次数、或者一区块读取次数。
20.根据权利要求17所述的固态储存装置的控制方法,其特征在于,该环境信息包括:一现在的操作温度或者一先前的操作温度。
CN201710676223.3A 2017-08-09 2017-08-09 固态储存装置的控制方法 Pending CN109378027A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710676223.3A CN109378027A (zh) 2017-08-09 2017-08-09 固态储存装置的控制方法
US15/798,995 US10319428B2 (en) 2017-08-09 2017-10-31 Control method of solid state storage device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710676223.3A CN109378027A (zh) 2017-08-09 2017-08-09 固态储存装置的控制方法

Publications (1)

Publication Number Publication Date
CN109378027A true CN109378027A (zh) 2019-02-22

Family

ID=65275565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710676223.3A Pending CN109378027A (zh) 2017-08-09 2017-08-09 固态储存装置的控制方法

Country Status (2)

Country Link
US (1) US10319428B2 (zh)
CN (1) CN109378027A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052188A (zh) * 2019-06-05 2020-12-08 建兴储存科技(广州)有限公司 运用于固态存储装置的电脑系统的数据处理方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170329684A1 (en) * 2016-05-13 2017-11-16 Synology Incorporated Method and apparatus for performing data recovery in redundant storage system
US10956048B2 (en) * 2017-11-21 2021-03-23 Distech Controls Inc. Computing device and method for inferring a predicted number of physical blocks erased from a flash memory
CN110246533B (zh) * 2018-03-09 2020-11-13 建兴储存科技(广州)有限公司 固态储存装置的失败模式检测方法及错误更正方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080198651A1 (en) * 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
CN102592677A (zh) * 2010-12-22 2012-07-18 索尼公司 存储装置和存储控制方法
CN103678146A (zh) * 2012-09-15 2014-03-26 Lsi公司 为了非易失性存储器中的耗损均衡测量单元损伤
US20160110249A1 (en) * 2014-10-20 2016-04-21 Fusion-Io, Inc. Adaptive storage reliability management
US20160141044A1 (en) * 2014-11-19 2016-05-19 SanDisk Technologies, Inc. Configuration parameter management using a configuration tool
US9478303B1 (en) * 2015-04-29 2016-10-25 Sandisk Technologies Llc System and method for measuring data retention in a non-volatile memory
CN106688042A (zh) * 2014-12-05 2017-05-17 桑迪士克科技有限责任公司 用于数据刷新的部分块擦除

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9455035B2 (en) * 2006-04-26 2016-09-27 Invention Science Fund I, Llc Management of memory refresh power consumption
US9548108B2 (en) * 2008-06-18 2017-01-17 Super Talent Technology, Corp. Virtual memory device (VMD) application/driver for enhanced flash endurance
US8982653B2 (en) * 2008-11-11 2015-03-17 Memory Technologies Llc Method and device for temperature-based data refresh in non-volatile memories
US8612669B1 (en) * 2010-06-28 2013-12-17 Western Digital Technologies, Inc. System and method for performing data retention in solid-state memory using copy commands and validity and usage data
US8966343B2 (en) * 2012-08-21 2015-02-24 Western Digital Technologies, Inc. Solid-state drive retention monitor using reference blocks
US20140379978A1 (en) * 2013-06-24 2014-12-25 Qualcomm Incorporated Refresh scheme for memory cells with weak retention time
JP6150669B2 (ja) * 2013-08-22 2017-06-21 キヤノン株式会社 情報処理装置、画像形成装置、及びその制御方法
KR20150104858A (ko) * 2014-03-06 2015-09-16 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
US9916237B2 (en) * 2014-12-12 2018-03-13 Sandisk Technologies Llc Model based configuration parameter management
US9658800B2 (en) * 2014-12-22 2017-05-23 Sandisk Technologies Llc End of life prediction based on memory wear
US10665305B2 (en) * 2015-09-09 2020-05-26 Toshiba Memory Corporation Host device connectable to memory device performing patrol read and memory device performing patrol read
US9857999B2 (en) * 2015-11-09 2018-01-02 Western Digital Technologies, Inc. Data retention charge loss sensor
US20170278858A1 (en) * 2016-03-22 2017-09-28 Schiltron Corporation Monolithic 3-d dynamic memory and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080198651A1 (en) * 2007-02-16 2008-08-21 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
CN102592677A (zh) * 2010-12-22 2012-07-18 索尼公司 存储装置和存储控制方法
CN103678146A (zh) * 2012-09-15 2014-03-26 Lsi公司 为了非易失性存储器中的耗损均衡测量单元损伤
US20160110249A1 (en) * 2014-10-20 2016-04-21 Fusion-Io, Inc. Adaptive storage reliability management
US20160141044A1 (en) * 2014-11-19 2016-05-19 SanDisk Technologies, Inc. Configuration parameter management using a configuration tool
CN106688042A (zh) * 2014-12-05 2017-05-17 桑迪士克科技有限责任公司 用于数据刷新的部分块擦除
US9478303B1 (en) * 2015-04-29 2016-10-25 Sandisk Technologies Llc System and method for measuring data retention in a non-volatile memory

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112052188A (zh) * 2019-06-05 2020-12-08 建兴储存科技(广州)有限公司 运用于固态存储装置的电脑系统的数据处理方法
CN112052188B (zh) * 2019-06-05 2023-09-29 建兴储存科技(广州)有限公司 运用于固态存储装置的电脑系统的数据处理方法

Also Published As

Publication number Publication date
US20190051346A1 (en) 2019-02-14
US10319428B2 (en) 2019-06-11

Similar Documents

Publication Publication Date Title
US9378830B2 (en) Partial reprogramming of solid-state non-volatile memory cells
CN103843067B (zh) 用于非易失性存储器的片上动态读取
KR101248352B1 (ko) 비휘발성 메모리 내의 데이터 에러 복구를 위한 장치, 방법 및 물품
US9229644B2 (en) Targeted copy of data relocation
CN102667945B (zh) 通过写入后读取和适应性重写来管理错误的非易失性存储器和方法
CN107452421A (zh) 固态储存装置及其状态预测方法
CN102667943B (zh) 通过加速的写入后读取来管理错误的非易失性存储器和方法
CN107608628B (zh) 闪存控制器
CN106653087A (zh) 固态存储装置及其相关读取控制方法
US11776638B2 (en) Memory system, control method thereof, and program
CN109378027A (zh) 固态储存装置的控制方法
CN104282339B (zh) 读取电压设定方法、控制电路与存储器储存装置
CN102132350A (zh) 用于闪存存储器中的软解映射和单元间干扰减轻的方法和设备
US8730724B2 (en) Common line current for program level determination in flash memory
CN110795270B (zh) 固态储存装置及其读取重试方法
CN110473581B (zh) 固态储存装置及其相关控制方法
US9342401B2 (en) Selective in-situ retouching of data in nonvolatile memory
CN109949850A (zh) 储存系统与储存方法
CN108428467A (zh) 读取电压追踪方法、存储器储存装置及控制电路单元
US10956064B2 (en) Adjusting code rates to mitigate cross-temperature effects in a non-volatile memory (NVM)
CN109215716B (zh) 提高nand型浮栅存储器可靠性的方法及装置
US9047974B2 (en) Erased state reading
CN113380309A (zh) 寻找最佳读取电压的方法、闪存系统
CN106297881A (zh) 非挥发性存储器的健康管理
US11940871B2 (en) Memory system and memory control method

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
TA01 Transfer of patent application right

Effective date of registration: 20200102

Address after: 21 / F, 392 Ruiguang Road, Neihu district, Taipei, Taiwan, China

Applicant after: Jianxing Storage Technology Co., Ltd

Address before: Ruiguang road Taiwan Taipei City Neihu district China No. 392 22 floor

Applicant before: Lite-On Technology Corporation

TA01 Transfer of patent application right
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190222

WD01 Invention patent application deemed withdrawn after publication