CN106548802A - 固态存储装置及其相关读取控制方法 - Google Patents
固态存储装置及其相关读取控制方法 Download PDFInfo
- Publication number
- CN106548802A CN106548802A CN201510594881.9A CN201510594881A CN106548802A CN 106548802 A CN106548802 A CN 106548802A CN 201510594881 A CN201510594881 A CN 201510594881A CN 106548802 A CN106548802 A CN 106548802A
- Authority
- CN
- China
- Prior art keywords
- flow process
- rigid
- soft
- control circuit
- decoding
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种固态存储装置的读取控制方法,包括下列步骤:于一硬式译码流程失败时,一控制电路根据该硬式译码流程中所产生的多个硬式信息来产生一第一直方图参数与一第二直方图参数;将该第一直方图参数与该第二直方图参数代入一电压偏移函数产生一电压偏移量,并据以产生一第一感测电压、一第二感测电压与一第三感测电压;以及提供该第一感测电压、该第二感测电压与该第三感测电压至一非易失性存储器,使得该非易失性存储器产生一软式信息。
Description
技术领域
本发明是有关于一种固态存储装置及其控制方法,且特别是有关于一种固态存储装置及其相关读取控制方法。
背景技术
众所周知,固态存储装置(solid state device)已经非常广泛的应用于各种电子产品,例如SD卡、固态硬盘等等。一般来说,固态存储装置由控制电路以及非易失性存储器(non-volatile memory)组合而成。
再者,利用与非门闪存(NAND flash memory)即可组成非易失性存储器。而根据每个单元(cell)所存储的数据量,闪存可进一步区分为每个单元存储一位的单层单元(Single-Level Cell,简称SLC)闪存、每个单元存储二位的多层单元(Multi-Level Cell,简称MLC)闪存与每个单元存储三位的三层单元(Triple-Level Cell,简称TLC)闪存。
请参照第1图,其所绘示为固态存储装置示意图。固态存储装置10经由一外部总线12连接至主机(host)14,其中外部总线12可为USB总线、SATA总线、PCIe总线等等。再者,固态存储装置10中包括一控制电路101与一非易失性存储器105。其中,控制电路101经由一内部总线107连接至非易失性存储器105,用以根据主机14所发出的命令将接收的写入数据存入非易失性存储器105,或者由非易失性存储器105中取得读取数据并传递至主机14。
再者,控制电路101中更包括一错误校正单元(简称ECC单元)104,可用来更正读取数据中的错误位(error bits),并且于更正完成后将正确的读取数据传递至主机14。
请参照第2A图,其所绘示为固态存储装置中非易失性存储器的单元排列示意图。非易失性存储器105由多个单元排列成一内存阵列(memoryarray),而每个单元内包括一个浮栅晶体管(floating gate transistor)。再者,利用字符线(word line)WL(n-1)、WL(n)、WL(n+1)即可控制一列(row)的单元,而根据一选定列(selected row)中个别单元内浮栅晶体管的开启(turn on)与关闭(turn off),即可决定单元的存储状态。另外,此单元可为SLC、MLC或者TLC闪存。
基本上,浮栅晶体管中的浮栅(floating gate)可以存储热载子(hotcarrier),而根据热载子存储量的多寡可决定该浮栅晶体管的临限电压(threshold voltage,简称VTH)。也就是说,具有较高的临限电压的浮栅晶体管需要较高的栅极电压(gate voltage)来开启(turn on)浮栅晶体管;反之,具有较低的临限电压的浮栅晶体管则可以用较低的栅极电压来开启浮栅晶体管。
因此,于固态存储装置的编程周期(program cycle)时,利用控制电路101控制注入浮栅的热载子量,即可改变其临限电压。而在读取周期(readcycle)时,固态存储装置10中的控制电路101即可根据浮栅晶体管是否能被开启(turn on)来判断其存储状态。
请参照第2B图,其所绘示为SLC非易失性存储器中的存储状态与临限电压关系示意图。基本上,SLC非易失性存储器的一个单元可以根据不同的热载子注入量而呈现二个存储状态E、A。在未注入热载子时,单元可视为存储状态E(例如逻辑存储状态1),而当热载子注入单元后,单元改变为存储状态A(例如逻辑存储状态0)。其中,存储状态A的单元具有较高的临限电压准位,存储状态E的单元具有最低的临限电压准位。再者,当单元经过抹除周期之后,皆会回复至未注入热载子的存储状态E。
再者,MLC非易失性存储器的一个单元可以呈现四个存储状态,而TLC非易失性存储器的一个单元可以呈现八个存储状态。以下皆以SLC非易失性存储器为例来进行说明,当然也可以运用至MLC与TLC非易失性存储器。
一般而言,于编程周期时,若将多个单元编程为相同的存储状态时,并非每个单元的临限电压都会相同,而是会呈现一分布曲线(distributioncurve),且其分布曲线可对应至一中位临限电压。由第2B图可知,存储状态E的中位临限电压为VTHE(例如0V),存储状态A的中位临限电压为VTHA(例如20V)。举例来说明,在统计存储状态A的所有单元的临限电压后,具中位临限电压VTHA(例如20V)的单元数目最多。
如第2B图所示,根据SLC非易失性存储器中各个存储状态的分布曲线即可据以产生一第一感测电压(sensing voltage,Vs1)。而于读取周期时,控制电路101即可提供第一感测电压Vs1至字符线(word line),用以侦测SLC非易失性存储器中的单元的存储状态。假设单元的临限电压小于第一感测电压Vs1而可以被开启,则控制电路101将该单元判断为存储状态E;假设单元的临限电压大于第一感测电压Vs1而无法被开启,则控制电路101将该单元判断为存储状态A。
举例来说,第2B图所示的非易失性存储器105中,共有p个单元被编程为存储状态E,共有w个单元被编程为存储状态A。
当利用第一感测电压Vs1来侦测存储状态E的p个单元时,仅有(p-q)个单元的浮栅临限电压小于第一感测电压Vs1,而被确认为存储状态E,而另外q个单元的浮栅临限电压大于第一感测电压Vs1,则会被误认为存储状态A。同理,当利用第一感测电压Vs1来侦测存储状态A的w个单元时,仅有(w-x)个单元的浮栅临限电压大于第一感测电压Vs1,而被确认为存储状态A,而另外x个单元的浮栅临限电压小于第一感测电压Vs1,则会被误认为存储状态E。
根据以上的说明可知,于固态存储装置10的读取周期,控制电路101提供第一感测电压Vs1至非易失性存储器105后,所产生的读取数据中会有(q+x)个单元的存储状态被误判,又可称为错误位(error bit)。如果误判的(q+x)个单元数目不多时,ECC单元104可以将(q+x)个误判的单元予以更正,并使得控制电路101输出正确的读取数据。然而,如果误判的(q+x)个单元数目过多时,ECC单元104无法将(q+x)个误判的单元更正,并且控制电路101无法输出正确的读取数据。
一般来说,习知的ECC单元104中包括一BCH译码器(BCH decoder)。而具有BCH译码器的控制电路101,仅需要单一个第一感测电压Vs1来对非易失性存储器105进行存储状态的判断。
再者,BCH译码器又被称为硬式译码器(hard decoder),其处理的流程称为硬式译码(hard decoding)流程。当单一个第一感测电压Vs1提供至非易失性存储器105后,其输出的数据被称为硬式信息(hard information),而BCH译码器即根据硬式信息来更正硬式信息中的错误位,并产生正确的读取数据。
请参照第2C图,其所绘示为习知固态存储装置的硬式译码流程示意图。当控制电路101的ECC单元104包括BCH译码器时,固态存储装置10会进行硬式译码流程。首先,控制电路101提供预定的(default)第一感测电压Vs1至非易失性存储器105,并根据所产生的硬式信息来进行译码(步骤S302)。
当ECC单元104利用硬式信息能够成功译码时(步骤S304),代表硬式信息中的错误位能够被更正。因此,控制电路101输出读取数据(步骤S310)。反之,当利用硬式信息无法成功译码时(步骤S304),代表硬式信息中的错误位计数过多无法被更正。因此,控制电路101进入读取重试(readretry)(步骤S305)。
在读取重试(步骤S305)中,控制电路101会更新(update)第一感测电压Vs1,并提供至非易失性存储器105,并根据所产生的硬式信息来进行译码(步骤S306)。之后,判断是否成功解碼(步骤S308)。
于读取重试(步骤S305)中,控制电路101中会将出厂前预先存储的M个(例如20个)不同数值的第一感测电压Vs1依序作为更新的第一感测电压Vs1,并供应至非易失性存储器105。而在提供更新的第一感测电压Vs1过程中,如果产生的硬式信息能够成功译码,则控制电路101即可输出读取数据。反之,当所有M个更新的第一感测电压Vs1皆使用之后仍无法成功译码,则控制电路101会产生译码失败(fail)的信息,则代表读取重试失败。换言之,步骤S306与步骤S308最多会被执行M次。并且,于确定读取重试失败时,即代表硬式译码流程失败。
由以上的说明可知,习知固态存储装置10中,所有M个更新的第一感测电压Vs1皆会存储于一重试表(retry table)中。当控制电路101进入读取重试时,即需要由重试表中获得更新的第一感测电压Vs1。
众所周知,当固态存储装置10出厂并经过多次写入与抹除之后,非易失性存储器105中每个单元存储状态的分布曲线会改变,且中位临限电压也会位移。由于无法掌握分布曲线的改变状况,习知利用重试表中更新的第一感测电压Vs1来进行硬式译码流程将会相当的耗时,并造成固态存储装置10的总处理能力(throughput)大幅下降。
发明内容
本发明有关于一种固态存储装置,包括:一非易失性存储器;一控制电路,连接至该非易失性存储器,该控制电路可对该非易失性存储器进行一硬式译码流程与一软式译码流程,其中,于进行该硬式译码流程失败时,该控制电路根据该硬式译码流程中所产生的至少三个硬式信息来产生一第一直方图参数与一第二直方图参数;其中,于进行该软式译码流程时,该控制电路根据该第一直方图参数、该第二直方图参数与一电压偏移函数来产生一电压偏移量,并据以产生一第一感测电压、一第二感测电压与一第三感测电压以提供至该非易失性存储器,使得该非易失性存储器产生一软式信息。
本发明有关于一种固态存储装置,包括:一非易失性存储器;一控制电路,连接至该非易失性存储器,该控制电路可对该非易失性存储器进行一硬式译码流程与一软式译码流程,其中,于进行该硬式译码流程失败时,该控制电路根据该硬式译码流程中所产生的至少三个硬式信息来产生一第一直方图参数与一第二直方图参数;其中,于进行该软式译码流程时,该控制电路根据该第一直方图参数、该第二直方图参数与一译码机率函数来产生一机率数值,使得该控制电路根据该机率数值判断是否继续进行该软式译码流程。
本发明有关于一种固态存储装置的读取控制方法,包括下列步骤:于一硬式译码流程失败时,一控制电路根据该硬式译码流程中所产生的多个硬式信息来产生一第一直方图参数与一第二直方图参数;将该第一直方图参数与该第二直方图参数代入一电压偏移函数产生一电压偏移量,并据以产生一第一感测电压、一第二感测电压与一第三感测电压;以及于一软式译码流程时,提供该第一感测电压、该第二感测电压与该第三感测电压至一非易失性存储器,使得该非易失性存储器产生一软式信息。
为了对本发明的上述及其他方面有更佳的了解,下文特举较佳实施例,并配合所附图式,作详细说明如下:
附图说明
图1所绘示为固态存储装置示意图。
图2A所绘示为固态存储装置中非易失性存储器的单元排列示意图。
图2B所绘示为SLC非易失性存储器中的存储状态与临限电压关示意图。
图2C所绘示为习知固态存储装置的硬式译码流程示意图。
图3A所绘示为本发明固态存储装置示意图。
图3B所绘示为利用多个感测电压对非易失性存储器进行存储状态判断的示意图。
图4所绘示为本发明固态存储装置的读取控制方法的第一实施例。
图5所绘示为记录各种干扰状况下后所建立的数据库示意图。
图6所绘示为本发明固态存储装置的读取控制方法的第二实施例。
图7所绘示为记录各种干扰状况下后所建立的另一数据库示意图。
符号说明:
10、40:固态存储装置
12、42:外部总线
14、44:主机
101、401:控制电路
104、403:ECC单元
105、405:非易失性存储器
107、407:内部总线
409:函数存储单元
具体实施方式
本发明提出一种固态存储装置及其相关读取控制方法,本方法运用于固态存储装置的软式译码(soft decoding)流程中。当控制电路欲进行软式译码流程之前,会根据先前硬式译码流程所产生的二个直方图参数(histogramparameter),利用电压偏移函数(voltage shifting function)来计算出一电压偏移量(voltage shift),根据电压偏移量产生三个感测电压。另外,更可以根据先前硬式译码流程所产生的二个直方图参数,利用译码机率函数(decoding probability function)来计算出软式译码流程可成功译码的一机率数值(probability value)。
请参照第3A图,其所绘示为本发明固态存储装置示意图。固态存储装置40经由一外部总线42连接至主机44,其中外部总线42可为USB总线、SATA总线、PCIe总线等等。再者,固态存储装置40中包括一控制电路401与一非易失性存储器405。其中,控制电路401经由一内部总线407连接至非易失性存储器405,用以根据主机44所发出的命令将接收的写入数据存入非易失性存储器405,或者由非易失性存储器405中取得读取数据并传递至主机44。
再者,控制电路401中更包括一ECC单元403,可用来更正读取数据中的错误位(error bits),并且于更正完成后将正确的读取数据传递至主机44。根据本发明的具体实施例,ECC单元403中包括一硬式译码器与一软式译码器。其中,硬式译码器可为BCH译码器,软式译码器可为LDPC译码器。
另外,控制电路401中更包括一函数存储单元409,可存储一电压偏移函数及一译码机率函数,该电压偏移函数以及译码机率函数皆相关于二个直方图参数。
为了提高错误资料的更正能力,固态存储装置40可以利用软式译码器(例如LDPC译码器)来更正错误位。相较于BCH译码器仅需利用单一感测电压来对非易失性存储器405进行存储状态的判断,LDPC译码器需要利用多个感测电压来对非易失性存储器405进行存储状态的判断。说明如下。
请参照第3B图,其所绘示为利用多个感测电压对非易失性存储器进行存储状态判断的示意图。首先,控制电路401提供第一感测电压Vs1至所有单元,将临限电压小于第一感测电压Vs1的单元判断为存储状态E(例如逻辑存储状态1),将临限电压大于第一感测电压Vs1的单元判断为存储状态A(例如逻辑存储状态0)。
再者,控制电路401提供第二感测电压Vs2至所有单元,将临限电压小于第二感测电压Vs2的单元判断为存储状态E(例如逻辑存储状态1),将临限电压大于第二感测电压Vs2的单元判断为存储状态A(例如逻辑存储状态0)。
再者,控制电路401提供第三感测电压Vs3至所有单元,将临限电压小于第二感测电压Vs3的单元判断为存储状态E(例如逻辑存储状态1),将临限电压大于第三感测电压Vs3的单元判断为存储状态A(例如逻辑存储状态0)。其中,第二感测电压Vs2小于第一感测电压Vs1,第一感测电压Vs1小于第三感测电压Vs3。
当控制电路401提供三个感测电压Vs1~Vs3至非易失性存储器之后,可以进一步将所有的单元区分为四个群组。如第3B图所示,临限电压小于第二感测电压Vs2的单元记录为“111”;临限电压介于第二感测电压Vs2与第一感测电压Vs1的单元记录为“101”;临限电压介于第一感测电压Vs1与第三感测电压Vs3的单元记录为“001”;以及临限电压大于第三感测电压Vs3的单元记录为“000”。再者,统计被记录为“101”的单元数目即成为第一直方图参数h1,统计被记录为“001”的单元数目即成为第二直方图参数h2。
举例来说,当单元被记录为“111”时,可定义该单元为存储状态E的机率为98%;当单元被记录为“101”时,可定义该单元为存储状态E的机率为60%;当单元被记录为“001”时,可定义该单元为存储状态A的机率为60%;当单元被记录为“000”时,可定义该单元为存储状态A的机率为98%。而上述的信息即称为软式资料(soft information),LDPC译码器根据软式信息来产生正确的读取数据。
相较于BCH译码器,LDPC译码器具备有更佳的错误位的更正能力。但是,由于软式译码需要利用到三个感测电压Vs1~Vs3来进行三次读取动作,因此软式译码的过程会耗费较长的解碼时间。再者,当软式译码还无法译码成功时,如果利用习知重试表来多次更新三个感测电压,则会使得固态存储装置40的总处理能力(throughput)大幅下降。
请参照第4图,其所绘示为本发明固态存储装置的读取控制方法的第一实施例。其中,控制电路401的ECC单元403中包括一硬式译码器与一软式译码器。其中,硬式译码器可为BCH译码器,软式译码器可为LDPC译码器。
在第一实施例中,先利用硬式译码器进行硬式译码流程。首先,控制电路401提供预定的(default)第一感测电压Vs1至非易失性存储器405,并以非易失性存储器405所产生的硬式信息进行译码(步骤S402)。
当利用硬式信息能够成功译码时(步骤S404),代表硬式信息中的错误位能够被更正。因此,控制电路401输出读取数据(步骤S410)。反之,当利用硬式信息无法成功译码时(步骤S404),代表硬式信息中的错误位计数过多无法被更正。因此,控制电路401进入读取重试(read retry)(步骤S405)。
在读取重试(步骤S405)中,控制电路401会更新(update)第一感测电压Vs1,并提供至非易失性存储器405,并根据所产生的硬式信息来进行译码(步骤S406)。之后,判断是否成功解碼(步骤S408)。
于读取重试(步骤S405)中,控制电路101中会将出厂前预先存储的M个不同数值的第一感测电压Vs1,依序作为更新的第一感测电压Vs1,提供至非易失性存储器405。而在更新第一感测电压Vs1的过程中,如果产生的硬式信息能够成功译码,则控制电路401即可输出读取数据。反之,当所有M个更新的第一感测电压Vs1皆使用之后仍无法成功译码,代表硬式译码失败,则必须进行软式译码流程。换言之,当步骤S406与步骤S408被执行M次后,仍无法成功译码时,则进入软式译码流程。
再者,根据本发明的第一实施例,于读取重试(步骤S405)中至少需要提供二个更新的第一感测电压Vs1,再加上预定的第一感测电压Vs1共三个感测电压。而三个感测电压可以产生三个硬式信息,根据三个硬式信息即可以计算出如第3B图所示的第一直方图参数h1与第二直方图参数h2。因此在执行完2次读取重试步骤S405后就可以进入软式译码流程,不必完整执行完M次读取重试步骤S405才进入软式译码流程,以减少译码过程所需要的时间。
如第4图所示,当硬式译码流程失败后,进入软式译码流程之前,先根据硬式译码流程的三个相异的第一感测电压Vs1所产生的硬式信息来产生第一直方图参数h1与第二直方图参数h2(步骤S412)。
接着,根据第一直方图参数(h1),第二直方图参数(h2),与电压偏移函数fv(h1,h2)来更新第一感测电压Vs1、第二感测电压Vs2与第三感测电压Vs3(步骤S418)。根据本发明的实施例,将第一直方图参数h1与第二直方图参数h2代入函数存储单元409中所存储的电压偏移函数fv(h1,h2),获得一电压偏移量(voltage shift)。而根据偏移电压,即可以换算出更新的第一感测电压Vs1、第二感测电压Vs2与第三感测电压Vs3。
再者,将更新的第一感测电压Vs1、第二感测电压Vs2与第三感测电压Vs3提供至非易失性存储器405,并根据所产生的软式信息来进行译码(步骤S420)。之后,即可输出读取数据(步骤S410)。
根据本发明的第一实施例,电压偏移函数fv(h1,h2)在固态存储装置40于出厂前,由设计者所建立并存储于控制电路401的函数存储单元409中。以下介绍电压偏移函数fv(h1,h2)的建立与运用。
基本上,固态存储装置40出厂并经过多次写入与抹除之后,非易失性存储器405中每个单元存储状态的分布曲线会改变,且中位临限电压也会位移。而分布曲线的变化会根据非易失性存储器405的运用而有所不同,例如编程干扰(program disturb)、数据维持(data retention)及读取干扰(readdisturb)等。
一般来说,非易失性存储器405经过多次的编程与抹除之后,即会影响单元的性能而使得单元中的存储状态被误判,此即为编程干扰。同理,当单元被编程后,读取的次数多寡也会影响单元的性能,并使得单元中的存储状态被误判,此即为读取干扰。再者,当单元被编程之后,随着数据存储时间的增长,单元中的热载子可能逐渐流失而使得单元中的存储状态被误判,此即为数据维持。
根据本发明的实施例,固态存储装置40的设计者于出厂前,针对非易失性存储器405进行各种干扰的实验。而受到干扰后的非易失性存储器再以一组预定的感测电压(第一感测电压Vs1、第二感测电压Vs2及第三感测电压Vs3)来统计第一直方图参数h1、第二直方图参数h2与最佳感测电压(optimal sensing voltage)。
以编程干扰为例,设计者将上述预设的该组感测电压提供至编程1000次、2000次及3000次的非易失性存储器,并且据以统计出各别的第一直方图参数h1与第二直方图参数h2。并且,测试出编程1000次、2000次及3000次的非易失性存储器的最佳感测电压。
换言之,设计者搜集各种干扰状况下,所有的第一直方图参数、第二直方图参数以及最佳感测电压。再者,根据最佳感测电压,即可得知第一感测电压Vs1的电压偏移量(voltage shift),并据以建立一数据库(data base)。
再者,设计者即可根据该数据库的内容,进行回归分析(regressionanalysis),例如线性回归分析(linear regression analysis),并获得一电压偏移函数fv(h1,h2),其相关于第一直方图参数h1与第二直方图参数h2的函数。以下举例说明:
首先,设计人员先默认一组感测电压。例如,第一感测电压Vs1为15V;第二感测电压Vs2为第一感测电压Vs1减去一固定电压ΔV1,亦即(Vs2=Vs1-ΔV1);第三感测电压Vs3为第一感测电压Vs1加上一固定电压ΔV2,亦即(Vs3=Vs1+ΔV2),固定电压ΔV1不一定要等于固定电压ΔV2,端视测试及计算情况而定。当固定电压ΔV1等于固定电压ΔV2时,例如为8V时,则第一感测电压Vs1为15V,第二感测电压Vs1为7V,第三感测电压Vs3为23V。
再者,提供该组感测电压至各种干扰状况下的非易失性存储器,并取得第一直方图参数h1、第二直方图参数h2以及最佳感测电压,并且记录最佳感测电压与第一感测电压Vs1之间的电压偏移量(voltage shift)。
请参照第5图,其所绘示为记录各种干扰状况下后所建立的数据库示意图。如set1所示,当第一直方图参数h1为500而第二直方图参数h2为2500时,最佳感测电压与第一感测电压Vs1之间的电压偏移量为-8V。再者,如set2所示,当第一直方图参数h1为1500而第二直方图参数h2为1500时,最佳感测电压与第一感测电压Vs1之间的电压偏移量为0V。再者,如set3所示,当第一直方图参数h1为2000而第二直方图参数h2为1000时,最佳感测电压与第一感测电压Vs1之间的电压偏移量为+8V。
再者,根据数据库中所搜集的数据,即可进行回归分析(regressionanalysis)并可获得一电压偏移函数fv(h1,h2)。举例来说,进行线性回归分析之后获得的电压偏移函数fv(h1,h2)为:fv(h1,h2)=0.004×h1-0.004×h1。而此电压偏移函数fv(h1,h2)即记录于控制电路401中的函数存储单元409。
如第4图所示,当硬式译码流程失败后,进入软式译码流程时,先根据硬式译码流程的三个相异的第一感测电压Vs1来产生第一直方图参数h1与第二直方图参数h2(步骤S412)。亦即,在硬式译码流程中,三个相异的第一感测电压Vs1分别为7V、15V、23V,并据以计算出第一直方图参数h1与第二直方图参数h2。假设计算出的第一直方图参数h1为1000,第二直方图参数h2为2300。
因此,于步骤S418中,即可将第一直方图参数h1(h1=1000)与第二直方图参数h2(h2=2300)代入上述电压偏移函数fv(h1,h2),并求得电压偏移量为-5.2V。因此,获得更新的第一感测电压Vs1为+9.8V(15V-5.2V),更新的第二感测电压Vs2为+1.8V(7V-5.2V),更新的第三感测电压Vs3为+17.8V(23V-5.2V)。
之后,于步骤S420中,将更新的第一感测电压Vs1(+9.8V)、第二感测电压Vs2(+1.8V)、第三感测电压Vs3(+17.8V)提供至非易失性存储器405,用以产生软式信息来进行译码。
由以上的说明可知,本发明提出一种固态存储装置及其相关读取控制方法。于硬式译码流程失败之后,进行软式译码时,根据先前硬式译码流程中三个感测电压所产生的二个直方图参数h1与h2,并利用电压偏移函数(function)来计算出一电压偏移量,并运用于进行软式译码的三个感测电压。
然而本发明不以此为限,利用硬式译码流程中的三个以上的感测电压提供至非易失性存储器,产生对应的硬式信息并进行译码,在硬式译码流程失败之后,进入软式译码流程时,根据先前三个以上的感测电压所产生的至少二个直方图参数及电压偏移函数来计算电压偏移量,以运用于软式译码流程中的三个感测电压。在本发明中,于硬式译码流程中使用的感测电压数量越多以及产生的直方图参数数量越多,应用于电压偏移函数时可以计算出更精确的结果,因此得到更精确的电压偏移量,在接下来的软式译码流程中也就可以得到更精确的结果。
另外,控制电路401中的函数存储单元409中更可以存储一译码机率函数fp(h1,h2),运用硬式译码流程失败后,判断软式解碼成功的机率,并据以决定是否继续进行软式译码流程。
请参照第6图,其所绘示为本发明固态存储装置的读取控制方法的第二实施例。相较于第一实施例,差异在于增加步骤S414与S416的判断流程。因此,以下仅介绍此二步骤,其余不再赘述。
于确认硬式译码流程失败并产生第一直方图参数h1与第二直方图参数h2之后,根据第一直方图参数h1,第二直方图参数h2与译码机率函数fp(h1,h2)来产生一机率数值(步骤S414)。换句话说,将第一直方图参数h1与第二直方图参数h2代入函数存储单元409中所存储的译码机率函数fp(h1,h2),即可获得一机率数值。
再者,机率数值是用来供控制电路401决定是否继续进行软式译码流程。举例来说,当机率数值高于一临限值时,代表利用软式信息来进行译码成功的机率很高,此时控制电路401可以继续进行步骤S418。反之,当机率数值低于一临限值时,代表利用软式信息来进行译码成功的机率很低,此时控制电路401可以直接结束该次的软式译码流程,重新进行硬式译码流程,利用更新的第一感测电压Vs1来产生不同的第一直方图参数h1与第二直方图参数h2,再一次进入软式译码流程。
请参照第7图,其所绘示为记录各种干扰状况下后所建立的另一数据库示意图。同理,固态存储装置40的设计者于出厂前,针对非易失性存储器405进行各种干扰的实验。而受到干扰后的非易失性存储器再以一组预定的感测电压(第一感测电压Vs1、第二感测电压Vs2及第三感测电压Vs3)来统计其第一直方图参数h1、第二直方图参数h2与解碼成功的机率。
如set1所示,当第一直方图参数h1为500而第二直方图参数h2为2500时,利用该组预定的感测电压无法译码成功,则将机率值设定为-1;如set2所示,当第一直方图参数h1为1500而第二直方图参数h2为1500时,利用该组预定的感测电压可以译码成功,则将机率值设定为+1;如set3所示,当第一直方图参数h1为2000而第二直方图参数h2为1000时,利用该组预定的感测电压可以译码成功,则将机率值设定为+1。
再者,根据上述数据库中所搜集的数据,即可进行回归分析(regressionanalysis)并可获得一译码机率函数fp(h1,h2)。举例来说,进行线性回归分析之后获得的译码机率函数fp(h1,h2)为:fp(h1,h2)=0.0045×h1-0.003×h1。而此译码机率函数fv(h1,h2)即记录于控制电路401中的函数存储单元409。
举例来说,如第6图所示,当硬式译码流程失败后,进入软式译码流程时,假设计算出的第一直方图参数h1为1000,第二直方图参数h2为1200时,则于步骤S414中,即可将第一直方图参数h1(h1=1000)与第二直方图参数h2(h2=1200)代入上述译码机率函数fp(h1,h2),并求得机率数值为+0.9。
当临限值设定为0时,由于上述的机率数值为+0.9,所以代表根据软式信息来进行译码成功的机率很高,此时控制电路401可以继续进行步骤S418。反之,若计算出的机率数值为负值,则代表根据软式信息来进行译码成功的机率很低,此时控制电路401可以直接结束该次的软式译码流程,重新进行硬式译码流程,利用更新的第一感测电压Vs1来产生不同的第一直方图参数h1与第二直方图参数h2,再一次进入软式译码流程。
由以上的说明可知,本发明提出一种固态存储装置及其相关读取控制方法。于硬式译码流程失败之后,进行软式译码流程时,根据先前硬式译码流程中三个感测电压所产生的二个直方图参数h1与h2以及译码机率函数,来判断后续软式译码流程的成功机率。再者,本发明更可以根据先前硬式译码流程所产生的二个直方图参数h1与h2以及电压偏移函数,来产生更新的第一感测电压Vs1、第二感测电压Vs2及第三感测电压Vs3并供应至非易失性存储器405,使得非易失性存储器405产生软式信息至LDPC译码器进行译码并产生读取数据。
然而本发明不以此为限,利用硬式译码流程中的三个以上的感测电压提供至非易失性存储器,产生对应的硬式信息并进行译码,在硬式译码流程失败之后,进入软式译码流程时,根据先前三个以上的感测电压所产生的至少二个直方图参数及译码机率函数来计算器率数值,以决定是否继续进行软式译码流程。在本发明中,于硬式译码流程中使用的感测电压数量越多以及产生的直方图参数数量越多,应用于译码机率函数时可以计算出更精确的结果,因此得到更精确的机率数值,以便于决定是否继续进行软式译码流程。
综上所述,虽然本发明已以较佳实施例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视权利要求保护范围所界定的为准。
Claims (10)
1.一种固态存储装置,包括:
一非易失性存储器;
一控制电路,连接至该非易失性存储器,该控制电路可对该非易失性存储器进行一硬式译码流程与一软式译码流程,其中,于进行该硬式译码流程失败时,该控制电路根据该硬式译码流程中所产生的至少三个硬式信息来产生一第一直方图参数与一第二直方图参数;
其中,于进行该软式译码流程时,该控制电路根据该第一直方图参数、该第二直方图参数与一电压偏移函数来产生一电压偏移量,并据以产生一第一感测电压、一第二感测电压与一第三感测电压以提供至该非易失性存储器,使得该非易失性存储器产生一软式信息。
2.如权利要求1所述的固态存储装置,其中该控制电路包括:
一错误校正单元,包括一硬式译码器与一软式译码器,其中该硬式译码器于该硬式译码流程中产生该至少三个硬式信息,以及该软式译码器于该软式译码流程中产生该软式信息;以及
一函数存储单元,存储该电压偏移函数。
3.如权利要求2所述的固态存储装置,其中该控制电路中的该软式译码器根据该软式信息产生一读取数据。
4.如权利要求2所述的固态存储装置,其中该函数存储单元更存储一译码机率函数,且于该软式译码流程时,该控制电路根据该第一直方图参数、该第二直方图参数与该译码机率函数来产生一机率数值,使得该控制电路根据该机率数值判断是否继续进行该软式译码流程。
5.一种固态存储装置,包括:
一非易失性存储器;
一控制电路,连接至该非易失性存储器,该控制电路可对该非易失性存储器进行一硬式译码流程与一软式译码流程,其中,于进行该硬式译码流程失败时,该控制电路根据该硬式译码流程中所产生的至少三个硬式信息来产生一第一直方图参数与一第二直方图参数;
其中,于进行该软式译码流程时,该控制电路根据该第一直方图参数、该第二直方图参数与一译码机率函数来产生一机率数值,使得该控制电路根据该机率数值判断是否继续进行该软式译码流程。
6.如权利要求5所述的固态存储装置,其中该控制电路包括:
一错误校正单元,包括一硬式译码器与一软式译码器,其中该硬式译码器于该硬式译码流程中产生该至少三个硬式信息,以及该软式译码器于该软式译码流程中产生该软式信息;以及
一函数存储单元,存储该译码机率函数。
7.一种固态存储装置的读取控制方法,包括下列步骤:
于一硬式译码流程失败时,一控制电路根据该硬式译码流程中所产生的多个硬式信息来产生一第一直方图参数与一第二直方图参数;
将该第一直方图参数与该第二直方图参数代入一电压偏移函数产生一电压偏移量,并据以产生一第一感测电压、一第二感测电压与一第三感测电压;以及
于一软式译码流程时,提供该第一感测电压、该第二感测电压与该第三感测电压至一非易失性存储器,使得该非易失性存储器产生一软式信息。
8.如权利要求7所述的读取控制方法,更包括:将该第一直方图参数、该第二直方图参数代入一译码机率函数来产生一机率数值,使得该控制电路根据该机率数值判断是否继续进行该软式译码流程。
9.如权利要求8所述的读取控制方法,其中当该机率数值低于一临限值时,停止进行该软式译码流程。
10.如权利要求7所述的读取控制方法,更包括:利用该控制电路中的一软式译码器根据该软式信息产生一读取数据。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510594881.9A CN106548802B (zh) | 2015-09-17 | 2015-09-17 | 固态存储装置及其相关读取控制方法 |
US14/948,800 US9490024B1 (en) | 2015-09-17 | 2015-11-23 | Solid state storage device and reading control method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510594881.9A CN106548802B (zh) | 2015-09-17 | 2015-09-17 | 固态存储装置及其相关读取控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106548802A true CN106548802A (zh) | 2017-03-29 |
CN106548802B CN106548802B (zh) | 2020-06-16 |
Family
ID=57211055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510594881.9A Active CN106548802B (zh) | 2015-09-17 | 2015-09-17 | 固态存储装置及其相关读取控制方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9490024B1 (zh) |
CN (1) | CN106548802B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851072A (zh) * | 2018-08-21 | 2020-02-28 | 建兴储存科技(广州)有限公司 | 使用状态预测方法的固态储存装置 |
CN110970080A (zh) * | 2018-09-28 | 2020-04-07 | 深圳衡宇芯片科技有限公司 | 训练人工智能估测存储装置的感测电压的方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107204204B (zh) * | 2016-03-16 | 2020-01-31 | 建兴储存科技(广州)有限公司 | 固态储存装置的断电期间估计方法 |
CN110246533B (zh) * | 2018-03-09 | 2020-11-13 | 建兴储存科技(广州)有限公司 | 固态储存装置的失败模式检测方法及错误更正方法 |
CN111863099B (zh) * | 2020-07-31 | 2023-03-21 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655021A (zh) * | 2011-03-02 | 2012-09-05 | 株式会社东芝 | 半导体存储装置以及解码方法 |
US20140029343A1 (en) * | 2012-07-26 | 2014-01-30 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
US20150149840A1 (en) * | 2013-11-27 | 2015-05-28 | Lsi Corporation | Read Retry For Non-Volatile Memories |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6262063B2 (ja) * | 2014-03-18 | 2018-01-17 | 東芝メモリ株式会社 | 不揮発性メモリおよび書き込み方法 |
KR20160057186A (ko) * | 2014-11-13 | 2016-05-23 | 에스케이하이닉스 주식회사 | 반도체 메모리 시스템 및 그것의 동작 방법 |
US9576671B2 (en) * | 2014-11-20 | 2017-02-21 | Western Digital Technologies, Inc. | Calibrating optimal read levels |
-
2015
- 2015-09-17 CN CN201510594881.9A patent/CN106548802B/zh active Active
- 2015-11-23 US US14/948,800 patent/US9490024B1/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102655021A (zh) * | 2011-03-02 | 2012-09-05 | 株式会社东芝 | 半导体存储装置以及解码方法 |
US20140029343A1 (en) * | 2012-07-26 | 2014-01-30 | Kabushiki Kaisha Toshiba | Nonvolatile semiconductor memory device |
US20150149840A1 (en) * | 2013-11-27 | 2015-05-28 | Lsi Corporation | Read Retry For Non-Volatile Memories |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110851072A (zh) * | 2018-08-21 | 2020-02-28 | 建兴储存科技(广州)有限公司 | 使用状态预测方法的固态储存装置 |
CN110851072B (zh) * | 2018-08-21 | 2023-06-02 | 建兴储存科技(广州)有限公司 | 使用状态预测方法的固态储存装置 |
CN110970080A (zh) * | 2018-09-28 | 2020-04-07 | 深圳衡宇芯片科技有限公司 | 训练人工智能估测存储装置的感测电压的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106548802B (zh) | 2020-06-16 |
US9490024B1 (en) | 2016-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103843067B (zh) | 用于非易失性存储器的片上动态读取 | |
CN106653087A (zh) | 固态存储装置及其相关读取控制方法 | |
CN100576359C (zh) | 通过使用关于所存储数据的质量的信息来增加错误校正码的效率和操作多电平存储系统 | |
CN102918599B (zh) | 具有基本程序序列和写中止检测的非易失性存储器和方法 | |
CN102667943B (zh) | 通过加速的写入后读取来管理错误的非易失性存储器和方法 | |
CN101842847B (zh) | 存储器单元中的分数位 | |
CN101755307B (zh) | 基于疲劳状况刷新非易失性存储器单元 | |
CN101681295B (zh) | 固态存储器中的粗略与精细编程 | |
CN106548802A (zh) | 固态存储装置及其相关读取控制方法 | |
CN107452421A (zh) | 固态储存装置及其状态预测方法 | |
US8286055B2 (en) | Nonvolatile memory device and method of operating the same | |
CN103093822B (zh) | 三阶储存单元的闪存装置及其控制方法 | |
CN109410998A (zh) | 存储器装置及其操作方法 | |
CN104282339B (zh) | 读取电压设定方法、控制电路与存储器储存装置 | |
CN103680637A (zh) | 具有异常字线检测器的闪存系统及其异常字线检测方法 | |
CN102667945A (zh) | 通过写入后读取和适应性重写来管理错误的非易失性存储器和方法 | |
CN102792382A (zh) | 存储器装置中的感测操作 | |
CN103811077B (zh) | 闪存中的资料补偿方法 | |
CN102543196B (zh) | 数据读取方法、存储器储存装置及其控制器 | |
CN108694098A (zh) | 对于存储设备的不同存储器区域的比特顺序修改 | |
CN102314949B (zh) | 数据读取方法、控制电路与存储器控制器 | |
CN104112477B (zh) | 用于固态储存装置中晶体单元的群组区分方法 | |
CN103870399A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN104952486B (zh) | 数据储存方法、存储器控制电路单元以及存储器储存装置 | |
CN111638994B (zh) | 一种闪存存储器及其错误比特计数检测方法和系统 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20191230 Address after: Room 302, factory a, No.8 Guangbao Road, Science City, Huangpu District, Guangzhou City, Guangdong Province Applicant after: Jianxing storage technology (Guangzhou) Co., Ltd Address before: No. 25 West Road, Science City, Guangzhou high tech Industrial Development Zone, Guangdong, China Applicant before: Guangbao Electronics (Guangzhou) Co., Ltd. Applicant before: Lite-On Technology Corporation |
|
GR01 | Patent grant | ||
GR01 | Patent grant |