CN103208306B - 读取闪存中所储存的数据的方法、存储器控制器与系统 - Google Patents

读取闪存中所储存的数据的方法、存储器控制器与系统 Download PDF

Info

Publication number
CN103208306B
CN103208306B CN201210149294.5A CN201210149294A CN103208306B CN 103208306 B CN103208306 B CN 103208306B CN 201210149294 A CN201210149294 A CN 201210149294A CN 103208306 B CN103208306 B CN 103208306B
Authority
CN
China
Prior art keywords
bit
flash memory
memory
data
code word
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.)
Active
Application number
CN201210149294.5A
Other languages
English (en)
Other versions
CN103208306A (zh
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.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN103208306A publication Critical patent/CN103208306A/zh
Application granted granted Critical
Publication of CN103208306B publication Critical patent/CN103208306B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital 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/5621Digital 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/5642Sensing or reading circuits; Data output 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

一种示范性地用以读取储存在一闪存的数据的方法被揭露,其中该闪存包含数个存储器单元并经由将该数个存储器单元中的一存储器单元编程至2N个电压状态中的一个电压状态以储存N位元数据,该方法包含:控制该闪存对该存储器单元执行至少一读取操作以取得至少一二进制数字以代表该N位元数据的一位元;依据该至少一二进制数字产生一码字以代表该N位元数据的该位元,其中该码字不同于该至少一二进制数字;以及将该码字提供于一错误更正解码器以执行一错误更正操作。

Description

读取闪存中所储存的数据的方法、存储器控制器与系统
技术领域
本发明有关于读取闪存(flashmemory)中所储存的数据,尤指一种经由参照闪存的存储单元(memorycell)所读出的位元序列(bitsequence)的二进制数字分布特性(binarydigitdistributioncharacteristic)来读取闪存中所储存的数据的方法与存储器控制器。
背景技术
闪存可通过电子式的抹除(erase)与写入/编程(program)以进行数据储存,并且广泛地应用于存储卡(memorycard)、固态硬盘(solid-statedrive)与可携式多媒体播放器等等。由于闪存为非挥发性(non-volatile)存储器,因此,不需要额外电力来维持闪存所储存的信息,此外,闪存可提供快速的数据读取与较佳的抗震能力,而这些特性也说明了闪存为何会如此普及的原因。
闪存可区分为NOR型闪存与NAND型闪存。对于NAND型闪存来说,其具有较短的抹除及写入时间且每一存储器单元需要较少的芯片面积,因而相较于NOR型闪存,NAND型闪存会允许较高的储存密度以及较低的每一储存位元的成本。一般来说,闪存以存储器单元阵列的方式来储存数据,而存储器单元是由一浮动栅极晶体管(floating-gatetransistor)来加以实作,且每一存储器单元可通过适当地控制浮动栅极晶体管的浮动栅极上的电荷个数来设定导通该浮动栅极晶体管所实作的该存储器单元的所需临界电压,进而储存单一个位元的信息或者一个位元以上的信息,如此一来,当一或多个预定控制栅极电压施加于浮动栅极晶体管的控制栅极之上,则浮动栅极晶体管的导通状态便会指示出浮动栅极晶体管中所储存的一或多个二进制数字(binarydigit)。
然而,由于某些因素,闪存单元中原本储存的电荷的个数可能会受到影响/扰乱,举例来说,闪存中所存在的干扰可能来自于写入干扰(write/programdisturbance)、读取干扰(readdisturbance)及/或保持干扰(retentiondisturbance)。以具有各自储存一个位元以上的信息的存储器单元的NAND型闪存为例,一个实体存储器分页(physicalpage)会包含多个逻辑存储器分页(logicalpage),且每一逻辑存储器分页采用一或多个控制栅极电压来进行读取。举例来说,对于一个用以储存3个位元的信息的闪存单元来说,该闪存单元会具有分别对应不同电荷个数(亦即不同临界电压)的8种状态(亦即电荷电平)的其中之一,然而,由于写入/抹除次数(program/erasecount,P/Ecount)及/或数据保留时间(retentiontime)的缘故,闪存单元中的存储器单元的临界电压分布(thresholdvoltagedistribution)便会有所改变,因此,使用原本的控制栅极电压设定(亦即临界电压设定)来读取存储器单元中所储存的信息可能会因为改变后的临界变压分布而无法正确地获得所储存的信息。
利用不同的控制栅极电压设定以读取闪存可能有较高的机会得到正确的储存信息。然而,储存所有利用不同控制栅极电压设定所取得的信息可能需要更多的存储空间。
发明内容
因此,本发明的目的的一在于提供一种读取闪存中所储存的数据的方法、存储器控制器与装置,以解决上述问题。读取闪存中所储存的数据的方法、存储器控制器与装置。
依据本发明的一实施例,一种示范性地用以读取储存在一闪存的数据的方法被揭露,其中该闪存包含数个存储器单元并经由将该数个存储器单元中的一存储器单元编程至2N个电压状态中的一个电压状态以储存N位元数据,该方法包含:控制该闪存对该存储器单元执行至少一读取操作以取得至少一二进制数字以代表该N位元数据的一位元;依据该至少一二进制数字产生一码字以代表该N位元数据的该位元,其中该码字不同于该至少一二进制数字;以及将该码字提供于一错误更正解码器以执行一错误更正操作。
依据本发明的另一实施例,揭露了一种用以读取储存在一闪存的数据的存储器控制器,其中该闪存包含数个存储器单元并经由将该数个存储器单元中的一存储器单元编程至2N个电压状态中的一个电压状态以储存N位元数据,该存储器控制器包含:一控制逻辑电路,用以控制该闪存对该存储器单元执行至少一读取操作以取得至少一二进制数字以代表该N位元数据的一位元;一编码器,耦接至该控制逻辑电路,用以依据该至少一二进制数字产生一码字以代表该N位元数据的该位元,其中该码字不同于该至少一二进制数字;以及一缓冲存储器,耦接至该编码器,用以储存该码字并将该码字提供于一错误更正解码器以执行一错误更正操作。
依据本发明另一实施例,揭露了一种用以读取储存在一闪存的数据的系统,其中该闪存包含数个存储器单元并经由将该数个存储器单元中的一存储器单元编程至2N个电压状态中的一个电压状态以储存N位元数据,该系统包含:一控制逻辑电路,用以控制该闪存对该存储器单元执行至少一读取操作以取得至少一二进制数字以代表该N位元数据的一位元;一编码器,耦接至该控制逻辑电路,用以依据该至少一二进制数字产生一码字以代表该N位元数据的该位元,其中该码字不同于该至少一二进制数字;以及一缓冲存储器,耦接至该编码器,用以储存该码字并将该码字提供于一错误更正解码器以执行一错误更正操作。
附图说明
图1为本发明存储器系统的第一实施例的示意图。
图2为要被读取的实体存储器分页P_0的第一种临界电压分布的示意图。
图3为要被读取的实体存储器分页P_0的第二种临界电压分布的示意图。
图4为从闪存1100的一存储器单元中读取一软位元的最低有效位元读取操作的示意图。
图5示于图1的编码器1223的方块图。
图6说明对读自闪存单元的二进制数字进行编码的示意图。
图7说明对读自闪存单元的二进制数字进行编码以取得正确数据的示意图。
图8说明对读自闪存单元的二进制数字进行编码以取得正确数据的示意图。
图9说明对读自闪存单元的二进制数字进行编码以取得正确数据的示意图。
图10说明码字与存储器单元的对应关系的示意图。
主要元件符号说明:
1000~存储器系统;
1100~闪存;
1110~存储器单元;
1200~存储器控制器;
1210~控制逻辑电路;
1220~错误更正电路;
1222~错误更正解码器;
1223~编码器;
1224~比较单元;
1225~判断单元;
1227~储存装置;
1228~解码单元;
1229~错误更正编码器。
具体实施方式
在说明书及后续的申请专利范围当中使用了某些词汇来指称特定的元件。所属领域中具有通常知识者应可理解,制造商可能会用不同的名词来称呼同样的元件。本说明书及后续的权利要求书并不以名称的差异來作为区别元件的方式,而是以元件在功能上的差异來作为区别的基准。在通篇说明书及后续的权利要求当中所提及的「包含」为一开放式的用语,故应解释成「包含但不限定于」。此外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一第一装置电性连接于一第二装置,则代表该第一装置可直接连接于该第二装置,或通过其他装置或连接手段间接地连接至该第二装置。
请注意到,读取NAND型闪存的实体存储器分页中的存储器单元所储存的多个位元仅是作为一实施例,以说明本发明的技术特征,然而,无论闪存是NAND型闪存或是具有其它类型的闪存(例如NOR型闪存),只要是将从不同读取操作中所取得的二进制数字编码成码字以进行错误更正操作,均符合本发明的精神。
请参阅图1,其为本发明存储器系统的第一实施例的示意图。存储器系统1000包含有一闪存1100以及一存储器控制器(memorycontroller)1200,于本实施例中,闪存1100可以是包含数个实体存储器分页P_0、P_1、P_2、…、P_N的NAND型闪存,其中实体存储器分页P_0~P_N中的每一实体存储器分页包含有数个存储器单元(例如浮动栅极晶体管)1110,举例来说,对于要被读取的一目标实体存储器分页P_0来说,其包含有存储器单元M_0~M_K。为了读取目标实体存储器分页P_0的存储器单元M_0~M_K中所储存的数据,控制栅极电压VG_0~VG_N便应该要适当地设定,例如,控制栅极电压VG_0~VG_N应该要适当地设定以确保实体存储器分页P_1~P_N中所有的存储器单元(浮动栅极存储器)103均处于导通状态。假若每一存储器单元103是用以储存N个位元(例如,包含最低有效位元(leastsignificantbit,LSB)、中间有效位元(centralsignificantbit,CSB)与最高有效位元(mostsignificantbit,MSB)的3个位元),则闪存102会将控制栅极电压VG_0设定为(2N-1)个电压准位,以便辨识出目标实体存储器分页P_0中每一存储器单元103的N个位元。
请参阅图2,其为要被读取的实体存储器分页P_0的第一种临界电压分布的示意图。实体存储器分页P_0的存储器单元M_0~M_K可包含有具有浮动栅极被编程(programmed)为具有电荷电平L0(亦即(MSB,CSB,LSB)=(1,1,1))的存储器单元、具有浮动栅极被编程为具有电荷电平L1(亦即(MSB,CSB,LSB)=(0,1,1))的存储器单元、具有浮动栅极被编程为具有电荷电平L2(亦即(MSB,CSB,LSB)=(0,0,1))的存储器单元、具有浮动栅极被编程为具有电荷电平L3(亦即(MSB,CSB,LSB)=(1,0,1))的存储器单元、具有浮动栅极被编程为具有电荷电平L4(亦即(MSB,CSB,LSB)=(1,0,0))的存储器单元、具有浮动栅极被编程为具有电荷电平L5(亦即(MSB,CSB,LSB)=(0,0,0))的存储器单元、具有浮动栅极被编程为具有电荷电平L6(亦即(MSB,CSB,LSB)=(0,1,0))的存储器单元以及具有浮动栅极被编程为具有电荷电平L7(亦即(MSB,CSB,LSB)=(1,1,0))的存储器单元。
为了辨识出存储器单元M_0~M_K的最低有效位元,闪存102便将控制栅极电压VG_0设定为图2所示的临界电压VT_4,接着,实体存储器分页P_0中每一存储器单元的导通状态便会指示出该存储器单元所具有的最低有效位元是”0”或”1”。于本实施例中,当实体存储器分页P_0中的一存储器单元被施加于其控制栅极的临界电压VT_4所导通时,闪存1100将会输出代表其最低有效位元的一个二进制数字”1”;否则,闪存1100将会输出代表其最低有效位元的另一个二进制数字”0”。
为了辨识出存储器单元M_0~M_K的中间有效位元,闪存1100便将控制栅极电压VG_0分别设定为图2所示的临界电压VT_2与VT_6,同样地,实体存储器分页P_0中每一存储器单元的导通状态便会指示出该存储器单元所具有的中间有效位元是”0”或”1”。于本实施例中,当一存储器单元会被施加于其控制栅极的临界电压VT_2与VT_6中的任一个所导通时,闪存1100将会输出代表其中间有效位元的一个二进制数字”1”;当该存储器单元不会被施加于其控制栅极的临界电压VT_2所导通,但是却会被施加于其控制栅极的临界电压VT_6所导通时,闪存102将会输出代表其中间有效位元的一个二进制数字”0”;以及当该存储器单元除了不会被施加于其控制栅极的临界电压VT_2所导通,也不会被施加于其控制栅极的临界电压VT_6所导通时,闪存1100将会输出代表其中间有效位元的一个二进制数字”1”。
为了辨识出存储器单元M_0~M_K的最高有效位元,闪存1100便将控制栅极电压VG_0分别设定为图2所示的临界电压VT_1、VT_3、VT_5与VT_7,同样地,实体存储器分页P_0中每一存储器单元的导通状态便会指示出该存储器单元所具有的最高有效位元是”0”或”1”。于本实施例中,当一存储器单元会被施加于其控制栅极的临界电压VT_1、VT_3、VT_5与VT_7中的任一个所导通时,闪存1100将会输出代表其最高有效位元的一个二进制数字”1”;当该存储器单元不会被施加于其控制栅极的临界电压VT_1所导通,但是却会被施加于其控制栅极的临界电压VT_3、VT_5与VT_7中的任一个所导通时,闪存1100将会输出代表其最高有效位元的一个二进制数字”0”;当该存储器单元不会被施加于其控制栅极的临界电压VT_1与VT_3中的任一个所导通,但是却会被施加于其控制栅极的临界电压VT_5与VT_7中的任一个所导通时,闪存1100将会输出代表其最高有效位元的一个二进制数字”1”;当该存储器单元不会被施加于其控制栅极的临界电压VT_1、VT_3与VT_5中的任一个所导通,但是却会被施加于其控制栅极的临界电压VT_7所导通时,闪存1100将会输出代表其最高有效位元的一个二进制数字”0”;以及当该存储器单元不会被施加于其控制栅极的临界电压VT_1、VT_3、VT_5与VT_7中的任一个所导通时,闪存1100将会输出代表其最高有效位元的一个二进制数字”1”。
然而,图2所示的临界电压分布可能会因为某些因素(例如写入/读取次数及/或数据保留时间的增加)的影响而改变为另一个临界电压分布,举例来说,对应至每一电荷电平的圆形突出状的分布可能会变宽及/或产生偏移。请参阅图3,其为要被读取的实体存储器分页P_0的第二种临界电压分布的示意图。由图3可得知,临界电压分布不同于图2所示的临界电压分布。将控制栅极电压VG_0设定为上述的临界电压VT_1~VT_7将无法正确地获得目标实体存储器分页P_0的存储器单元M_0~M_K的最低有效位元、中间有效位元与最高有效位元进一步来说,当存储器单元M_0~M_K具有图3所示的临界电压分布时,应该要采用新的临界电压VT_1’~VT_7’以便正确地获得所储存的信息,否则的话,施加于存储器单元M_0~M_K所读出的码字(codeword)的错误更正(errorcorrectioncode,ECC)操作便会因为码字中无法更正的(uncorrectable)错误而无法成功运行。于本实施例中,存储器控制器1200是设计来适应性地对存储器单元M_0~M_K所读取的码字执行软解码以增强解码能力。细节于后详述。
请再次参阅图1。存储器控制器104是用以控制闪存102的存取(读取/写入),并且包含有(但不局限于)一控制逻辑电路1210以及一错误更正电路(ECCcircuit,其具有一错误更正解码器1222以及一错误更正编码器1229)。请注意,图1仅显示与本发明的技术特征有关的元件,亦即,存储器控制器104亦可包含额外的元件来支援其它的功能。一般来说,当接收到针对目标实体存储器分页P_0中存储器单元M_0~M_K所储存的数据的一读取请求(readrequest)时,控制逻辑电路1210会因应该读取请求而控制闪存1100来读取所要求的数据(requesteddata),接着,当闪存102成功地辨识出存储器单元M_0~M_K中每一存储器单元所储存的所有位元时,包含有存储器单元M_0~M_K的已辨识出的位元的读出信息便会被接收电路1210所接收。如熟习技艺者所知,位于一实体存储器分页中的一部份存储器单元是用来储存错误更正信息(例如一错误更正码(ECCcode)),因此,错误更正电路1220便是用来针对由闪存1100所读取出来的读出信息(例如一码字)进行一错误更正操作。于本实施例中,错误更正电路1220包含有一错误更正解码器(ECCdecoder)1222以及一错误更正编码器(ECCcorrector)1229。错误更正解码器1222是用来检查读出信息的正确性,以藉此侦测任何错误位元的存在。错误更正解码器1222亦用于对检查过的读出信息中所发现到的错误位元进行更正然而,当读出信息中实际存在的错误位元的数量超过了错误更正解码器1222有办法依照硬解码(例如BCH(Bose-Chaudhuri-Hocquenghem的方式))更正的错误位元的最大数量时,错误更正解码器1222便会指示控制逻辑电路1210读出信息中包含有无法更正的错误。如此一来,控制逻辑电路1210将会启动软读取(softread)机制以取得软信息,该些软信息可被ECC解码器1222用来进行软解码机制。细节于后详述。
于本实施例中,错误更正解码器1222可由低密度同位检查(lowdensityparity-check,LDPC)解码器来加以实作,控制逻辑电路1210控制闪存1100来提供要被LDPC解码器所解码的软信息(softinformation),所以,在控制逻辑电路1210的控制之下,闪存1100便输出多个二进制数字来作为各个存储器单元M_0~M_K所读取出来的软位元(softbit)。进一步来说,当进行最低有效位元数据的读取、中间有效位元数据的读取或最高有效位元数据的读取时,控制逻辑电路1210是用以控制闪存1100来针对目标实体存储器分页的存储器单元M_0~M_K中的每一存储器单元执行数个次读取操作(例如7次读取操作)。
请参阅图4,其为从闪存1100的一存储器单元中读取一软位元(亦即软信息数值)的最低有效位元读取操作的示意图。依据图2与图3所示的临界电压分布的范例,具有电荷电平L0~L3中任一个电荷电平的存储器单元将会储存LSB=1,以及具有电荷电平L4~L7中任一个电荷电平的存储器单元则会储存LSB=0。于本实施例中,控制单元1210决定一初始控制栅极电压VLSB以及一电压间距(voltagespacing)D,接着控制闪存1100来针对存储器单元M_0~M_K中的每一存储器单元执行7次读取操作,而基于电压调整次序(voltageadjustingorder)OD1,闪存1100会依序以VLSB、VLSB+D、VLSB-D、VLSB+2D、VLSB-2D、VLSB+3D、VLSB-3D来设定控制栅极电压VG_0,因此,由于所施加的栅极控制电压VLSB、VLSB+D、VLSB-D、VLSB+2D、VLSB-2D、VLSB+3D、VLSB-3D的缘故,位元序列BS_0~BS_M中的每一位元序列都会依序得到7个位元。请注意,位元序列BS_0~BS_M中的每一位元序列作为一软位元,其代表由一存储器单元所读取出来的软信息,且通过初始控制栅极电压VLSB所获得的二进制数字可作为一正负号位元(signbit)(亦即硬位元(hardbit)数值)。利用初始控制栅极电压VLSB所进行的读取操作可视为一般读取操作。而利用控制栅极电压VLSB+D、VLSB-D、VLSB+2D、VLSB-2D、VLSB+3D、VLSB-3D所进行的读取操作可分别视为重读操作1~6。
于本实施例中,每一位元序列具有八种可能的二进制数字组合BS1~BS8的其中之一。当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压高于VLSB+3D,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS8=”0000000”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB+2D与VLSB+3D之间,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS7=”0000010”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB+D与VLSB+2D之间,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS6=”0001010”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB与VLSB+D之间,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS5=”0101010”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压低于VLSB-3D,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS1=”1111111”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB-2D与VLSB-3D之间,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS2=”1111110”;当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB-D与VLSB-2D之间,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS3=”1111010”;以及当目前储存于存储器单元的浮动栅极的电荷使得存储器单元的临界电压介于VLSB与VLSB-D之间,则从存储器单元所读取出来的位元序列将会具有二进制数字组合BS4=”1101010”。
当一个位元序列中所有的二进制数字均为”1”时,此代表相对应的存储器单元具有电荷电平L0、L1、L2或L3,且LSB=1的可靠度(reliability)很高。另一方面,当一个位元序列中所有的二进制数字均为”0”时,此代表相对应的存储器单元具有电荷电平L5、L6、L7或L8,且LSB=0的可靠度很高。然而,当一个位元序列具有不同的二进制数字”0”与”1”混杂其中时,此代表相对应的存储器单元具有电荷电平L3或L4,由于相对应存储器单元的临界电压是介于VLSB-3D与VLSB+3D之间,LSB=1/LSB=0的可靠度便会由于错误率较高而较低,举例来说,原本储存LSB=0的存储器单元会具有对应至电荷电平L4的电荷储存数量以使得临界电压高于VLSB+3D,然而,当写入/抹除次数或数据保留时间增加时,所储存的电荷的数量便会有所改变,因而可能使得临界电压低于VLSB;同样地,原本储存LSB=1的存储器单元会具有对应至电荷电平L3的电荷储存数量以使得临界电压低于VLSB-3D,相较于硬解码,存在于软信息数值的可靠度将可增加在进行软解码时解码正确的机率。然而软信息数值包含于一般读取操作与后续的重读操作1~6所取得的多个二进制数字,如前所述七个二进制数字。为了执行软解码,错误更正解码器1222必须取得并储存完整的软信息数值,因此,错误更正解码器1222需要大量的储存空间以储存完整的软信息数值。这将会增加芯片面积与成本。
成本。为减少储存空间,从读取操作中取得的二进制数字可以在储存或解码前就先编码为一个较短的码字。请在参照图1,如前所述,错误更正电路1220用来对从闪存1100中取得的读取信息进行错误更正操作。而错误更正解码器1222用来检查读取信息的正确性。除此之外,错误更正解码器1222更包含一编码器1223、一储存装置1227以及一解码单元1228。编码器1223用以依据从闪存1100读取的二进制数字来产生一较短的码字代表该二进制数字。储存装置1227用以储存由编码器产生的码字并提供所储存的码字给解码单元1228。解码单元1228用以对该码字执行错误更正操作。细节于后详述。
在一实施例中,控制逻辑电路1210控制闪存1100依照初始控制栅极电压VLSB对存储器单元,例如实体存储器分页P_0的存储器细胞单元M_0~M-K,进行一读取操作以辨识存储器细胞单元M_0~M-K的最低有效位元。依照初始控制栅极电压VLSB所进行的读取操作可视为一般读取操作。闪存1100提供包含了数据部分、备用部分与至少一校验码(parity)部分的一存储分页的二进制数字(apageofbinarydigits)至控制逻辑电路1210。控制逻辑电路1210传送其所接收的二进制数字至错误更正电路1220。在一实施例中,错误更正电路1220将所接收的二进制数字区分为两个部分。第一部分包含数据部分与其相对应的校验码部分。第二部分包含备用部分以及其相应的校验码部分。错误更正电路1220对第一部分进行软式解码操作(softdecodeoperation),而对第二部分进行硬式解码操作(harddecodeoperation)。此乃例示性说明,而非本发明的限制。对该分页的二进制数字的任一部分进行软式解码或硬式解码操作均为本发明的范畴。在此实施例中,编码器1223依据第一部分的二进制数字产生一码字。细节于后详述。
请参照图5与图6,图5示于图1的编码器1223的方块图。图6说明对读自闪存单元的二进制数字进行编码的示意图。编码器1223包含一比较单元1224以及一判断单元1225。图5仅显示与本发明的技术特征有关的元件,亦即,编码器1223亦可包含额外的元件来支援其它的功能。比较单元1223用于比较从控制逻辑电路送来的第一部分的二进制数字以及储存在储存装置1227的正负位元。当读取一目标实体存储器分页(例如实体存储器分页P_0)时,控制逻辑电路1210控制闪存1210依照一初始控制栅极电压VLSB对存储器细胞单元(例如实体存储器分页P_0的存储器细胞M_0~M_K)进行一读取操作以识别存储器细胞M_0~M_K的最低有效位元。如图6所示,该实体存储器分页的第一部分的二进制数字传送至编码器1223。请注意到,该些二进制数字的各个位元代表该实体存储器分页P_0的存储器细胞单元的最低有效位元的硬位元(hardbit,亦可称为硬信息(hardinformation))。例如,该些二进制数字最左边的二进制数字”1”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的硬位元为”1”。该些二进制数字最左边的二进制数字旁边的二进制数字”1”,其代表实体存储器分页P_0的存储器细胞M_1的最低有效位元的硬位元为”1”,以此类推。因第一部分的二进制数字得自对该些存储器细胞单元依照初始控制栅极电压进行读取操作,该些二进制数字可视为该些存储器单元的正负号位元。据此,编码器1223产生(并设定)一个高强度位元为”1”一个低强度位元为”1”,以代表正负位元”1”具有最高的可靠度。换言之,存储器单元M_0被假设为”1”,且具有最高的可靠度。此外,包含硬位元”1”以及软位元(softbit,亦可称为软信息(softinformation))”11”的码字”111”用来代表存储器单元M_0所储存的信息。用来代表其他存储器单元的码字亦依照类似的方式进行。接着,第一部分的二进制数字的码字传送至储存装置1227。接着,储存装置1227将该码字提供给解码单元1228以执行错误更正操作。若错误更正操作指出该码字正确或可更正(换言之储存在存储器单元的数据可以被正确地取得),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正操作指出该码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制闪存1100依照控制栅极电压VLSB+D对存储器细胞单元进行一重读操作(D一预定的电压间隔)。细节于后详述。
请参照图7,图7说明对读自闪存单元的二进制数字进行编码以取得正确数据的示意图。在读取一目标实体存储器分页(例如,实体存储器分页P_0)时,控制逻辑电路1210控制闪存1100依照第二控制栅极电压VLSB+D对存储器单元(例如,实体存储器分页P_0的存储器单元M_0~M_K)执行一读取操作以判读存储器单元M_0~M_K的最低有效位元。此重读操作可被视为第一次重读操作。如图7所示,该实体存储器分页的第一部分的二进制数字送至编码单元1223。请注意到,该些二进制数字的每个位元代表一实体存储器分页P_0的一存储器细胞单元的最低有效位元的软位元。例如,该些二进制数字最左边的二进制数字”1”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的软位元为”1”。该些二进制数字最左边的二进制数字旁边的二进制数字”0”,其代表实体存储器分页P_0的存储器细胞M_1的最低有效位元的软位元为”0”,以此类推。请注意到,图7所示的二进制数字(重读数据)可能不完全与正负号位元相同。因为用以进行第一次重读操作的控制栅极电压VLSB+D,所以在利用栅极控制电压VLSB与VLSB+D读取临界电压落在VLSB与VLSB+D的存储器单元时会得到不同的结果。例如,依照控制栅极电压VLSB所取得的存储器单元M_1的最低有效位元的正负号位元”0”,而依照控制栅极电压VLSB+D所取得的存储器单元M_1的最低有效位元的软位元”1”。因此,编码器1223需要更新存储器单元M_1的最低有效位元的码字的可靠度。细节于后详述。
依照控制栅极电压VLSB+D所取得重读数据(二进制数字)送至比较单元1224。比较单元1224存取储存在储存装置1227的正负号位元,并比较正负号位元与重读数据以更新码字。若正负号位元与其相对应的重读数据(二进制数字)相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要维持该正负号位元的可靠度。换言之,用来表达相对应的存储器单元的码字不被改变。若正负号位元与其相对应的重读数据(二进制数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要更新该正负号位元的可靠度至一最低可靠度。换言之,用来表达相对应的存储器单元的码字被改变。例如,依照控制栅极电压VLSB所取得的存储器单元M_1的最低有效位元的正负号位元”0”,而依照控制栅极电压VLSB+D所取得的存储器单元M_1的最低有效位元的软位元”1”。据此,判断单元1225判定一高强度位元”0”以及一低强度位元”0”以代表正负号位元”1”具有最低的可靠度。换言之,存储器单元M_1的最低有效位元被更新为有最低可靠度的”0”。此外,包含硬位元”0”以及软位元”00”的码字”000”用来代表存储器单元M_1的最低有效位元。用来表达其他存储器单元的码字亦依照类似的方式进行。接着,更新后的第一部分的二进制数字的码字送至储存装置1227用以更新原来的码字。接着,储存装置1227将更新后的码字提供给解码单元1228以执行错误更正操作。若错误更正操作指出更新后的码字正确或可更正(换言之储存在存储器单元的数据可以被正确地取得),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正操作指出更新后的码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制闪存1100依照控制栅极电压VLSB-D对存储器细胞单元进行一重读操作(D一预定的电压间隔)。依照控制栅极电压VLSB-D对存储器细胞单元所进行的重读操作可视为第二重读操作。请注意到,一般读取操作与第一重读操作的电压间隔与一般读取操作与第二重读操作的电压间隔相同。因此,更新码字可靠度的规则应该类似,依照第二次重读操作所取得的重读数据产生与储存码字的细节在此省略。若错误更正操作指出第二次重读操作所得的更新后的码字正确或可更正(换言之储存在存储器单元的数据可以被正确地取得),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正操作指出第二次重读操作所得的更新后的码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制闪存1100依照控制栅极电压VLSB+2D对存储器细胞单元进行一重读操作(D一预定的电压间隔)。依照控制栅极电压VLSB+2D对存储器细胞单元所进行的重读操作可视为第三重读操作。细节详述于后。
请参照图8,图8说明对读自闪存单元的二进制数字进行编码以取得正确数据的示意图。在读取一目标实体存储器分页(例如,实体存储器分页P_0)时,控制逻辑电路1210控制闪存1100依照第三控制栅极电压VLSB+2D对存储器单元(例如,实体存储器分页P_0的存储器单元M_0~M_K)执行一读取操作以判读存储器单元M_0~M_K的最低有效位元。此重读操作可被视为第三次重读操作。如图8所示,该实体存储器分页的第一部分的二进制数字送至编码单元1223。请注意到,该些二进制数字的每个位元代表一实体存储器分页P_0的一存储器细胞单元的最低有效位元的软位元。例如,该些二进制数字最左边的二进制数字”0”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的软位元。请注意到,图8所示的二进制数字(重读数据)可能不完全与正负号位元相同。因为用以进行第三次重读操作的控制栅极电压VLSB+2D,所以在利用栅极控制电压VLSB与VLSB+2D读取临界电压落在VLSB与VLSB+2D的存储器单元时会得到不同的结果。例如,依照控制栅极电压VLSB所取得的存储器单元M_0的最低有效位元的正负号位元”0”,而依照控制栅极电压VLSB+2D所取得的存储器单元M_0的最低有效位元的软位元”1”。因此,编码器1223需要更新存储器单元M_0的最低有效位元的码字的可靠度。细节于后详述。
依照控制栅极电压VLSB+2D所取得重读数据(二进制数字)送至比较单元1224。比较单元1224存取储存在储存装置1227的正负号位元,并比较正负号位元与重读数据以更新码字。请注意到,在第一次重读操作与第二次重读操作中某些二进制数字可能会与其相对应的正负号位元不同。该些二进制数字的可靠度将不再被更新。比较单元1224可忽略该些二进制数字。判断单元1225则维持该更新后的码字的的可靠度。换言之,当高强度位元及低强度位元已经被更新过了,判断单元1225维持高强度位元与低强度位元的值。若正负号位元与其相对应的重读数据(二进制数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要维持该正负号位元的可靠度。换言之,用以表达相对应的存储器单元的码字不改变。若正负号位元与其相对应的重读数据(二进制数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要更新该正负号位元的可靠度至一较高的可靠度。换言之,用来表达相对应的存储器单元的码字被改变。例如,依照控制栅极电压VLSB所取得的存储器单元M_0的最低有效位元的正负号位元”0”,而依照控制栅极电压VLSB+2D所取得的存储器单元M_0的最低有效位元的软位元”1”。据此,判断单元1225判定一高强度位元”0”以及一低强度位元”1”以代表正负号位元”1”具有较高的可靠度。换言之,存储器单元M_0的最低有效位元被更新为有较高可靠度的”0”。此外,包含硬位元”0”以及软位元”01”的码字”001”用来代表存储器单元M_0的最低有效位元。用来表达其他存储器单元的码字亦依照类似的方式进行。接着,更新后的第一部分的二进制数字的码字送至储存装置1227用以更新原来的码字。接着,储存装置1227将更新后的码字提供给解码单元1228以执行错误更正操作。若错误更正操作指出更新后的码字正确或可更正(换言之储存在存储器单元的数据可以被正确地取得),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正操作指出更新后的码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制闪存1100依照控制栅极电压VLSB-2D对存储器细胞单元进行一重读操作(D一预定的电压间隔)。细节详述于后。
依照控制栅极电压VLSB-2D对存储器细胞单元所进行的重读操作可视为第四重读操作。请注意到,一般读取操作与第三重读操作的电压间隔与一般读取操作与第四重读操作的电压间隔相同。因此,更新码字可靠度的规则应该类似,依照第四次重读操作所取得的重读数据产生与储存码字的细节在此省略。若错误更正操作指出第四次重读操作所得的更新后的码字正确或可更正(换言之储存在存储器单元的数据可以被正确地取得),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正操作指出第四次重读操作所得的更新后的码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制闪存1100依照控制栅极电压VLSB+3D对存储器细胞单元进行一重读操作。依照控制栅极电压VLSB+3D对存储器细胞单元所进行的重读操作可视为第五重读操作。细节详述于后。
请参照图9,图9说明对读自闪存单元的二进制数字进行编码以取得正确数据的示意图。在读取一目标实体存储器分页(例如,实体存储器分页P_0)时,控制逻辑电路1210控制闪存1100依照第五控制栅极电压VLSB+5D对存储器单元(例如,实体存储器分页P_0的存储器单元M_0~M_K)执行一读取操作以判读存储器单元M_0~M_K的最低有效位元。此重读操作可被视为第五次重读操作。如图9所示,该实体存储器分页的第一部分的二进制数字送至编码单元1223。请注意到,该些二进制数字的每个位元代表一实体存储器分页P_0的一存储器细胞单元的最低有效位元的软位元。例如,该些二进制数字最右边的二进制数字”0”,其代表实体存储器分页P_0的存储器细胞M_0的最低有效位元的软位元。请注意到,图9所示的二进制数字(重读数据)可能不完全与正负号位元相同。因为用以进行第五次重读操作的控制栅极电压VLSB+3D,所以在利用栅极控制电压VLSB与VLSB+3D读取临界电压落在VLSB与VLSB+3D的存储器单元时会得到不同的结果。例如,依照控制栅极电压VLSB所取得的存储器单元M_K的最低有效位元的正负号位元”1”,而依照控制栅极电压VLSB+3D所取得的存储器单元M_0的最低有效位元的软位元”1”。因此,编码器1223需要更新存储器单元M_K的最低有效位元的码字的可靠度。细节于后详述。
依照控制栅极电压VLSB+3D所取得重读数据(二进制数字)送至比较单元1224。比较单元1224存取储存在储存装置1227的正负号位元,并比较正负号位元与重读数据以更新码字。请注意到,在第一、第二、第三、第四次重读操作中某些二进制数字可能会与其相对应的正负号位元不同。该些二进制数字的可靠度将不再被更新。比较单元1224可忽略该些二进制数字。判断单元1225则维持该更新后的码字的的可靠度。换言之,当高强度位元及低强度位元已经被更新过了,判断单元1225维持高强度位元与低强度位元的值。若正负号位元与其相对应的重读数据(二进制数字)相同,比较单元1224将该结果指示判断单元1225。换言之,用以表达相对应的存储器单元的码字不改变。若正负号位元与其相对应的重读数据(二进制数字)不相同,比较单元1224将该结果指示判断单元1225。而判断单元1225判定要更新该正负号位元的可靠度至一较高的可靠度。换言之,用来表达相对应的存储器单元的码字被改变。例如,依照控制栅极电压VLSB所取得的存储器单元M_K的最低有效位元的正负号位元”0”,而依照控制栅极电压VLSB+3D所取得的存储器单元M_K的最低有效位元的软位元”1”。据此,判断单元1225判定一高强度位元”1”以及一低强度位元”0”以代表正负号位元”1”具有较高的可靠度。换言之,存储器单元M_K的最低有效位元被更新为有较高可靠度的”0”。此外,包含硬位元”0”以及软位元”10”的码字”010”用来代表存储器单元M_K的最低有效位元。用来表达其他存储器单元的码字亦依照类似的方式进行。接着,更新后的第一部分的二进制数字的码字送至储存装置1227用以更新原来的码字。接着,储存装置1227将更新后的码字提供给解码单元1228以执行错误更正操作。若错误更正操作指出更新后的码字正确或可更正(换言之储存在存储器单元的数据可以被正确地取得),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正操作指出更新后的码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制闪存1100依照控制栅极电压VLSB-3D对存储器细胞单元进行一重读操作。细节详述于后。
依照控制栅极电压VLSB-3D对存储器细胞单元所进行的重读操作可视为第六重读操作。请注意到,一般读取操作与第五重读操作的电压间隔与一般读取操作与第六重读操作的电压间隔相同。因此,更新码字可靠度的规则应该类似,依照第六重读操作所取得的重读数据产生与储存码字的细节在此省略。若错误更正操作指出第六次重读操作所得的更新后的码字正确或可更正(换言之储存在存储器单元的数据可以被正确地取得),则错误更正电路1220将此结果通知控制逻辑电路1210,并将正确的数据提供给控制逻辑电路1210。若错误更正操作指出第六次重读操作所得的更新后的码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210控制闪存1100依照控制栅极电压VLSB+4D对存储器细胞单元进行一重读操作。依照控制栅极电压VLSB+4D对存储器细胞单元所进行的重读操作可视为第七重读操作。或者,若错误更正操作指出第六次重读操作所得的更新后的码字不可更正(换言之储存在存储器单元的数据无法被正确地取得),错误更正电路1220将此结果通知控制逻辑电路1210,而控制逻辑电路1210判定对目标实体存储器分页P_0读取失败,并将读取失败回报给一主机(host)。读取操作的次数可任意决定,其非为本发明的限制。
请参照图10,图10说明码字与存储器单元的对应关系的示意图。例如,当收到依照初始控制栅极电压VLSB所取得的一存储器单元的硬位元时,编码器1223将该硬位元视为该存储器单元的最低有效位元的正负号位元并预设该正负号位元具有最高的可靠度,例如,码字”011”代表非常强的”0”,而码字”111”代表非常强的”1”。然而,在第一次重读操作中,临界电压位于VLSB与VLSB+D之间的存储器单元将会被对应至非常弱的”0”,并编码为”000”。在第二次重读操作中,临界电压位于VLSB与VLSB-D之间的存储器单元将会被对应至非常弱的”1”,并编码为”100”。在第三次重读操作中,临界电压位于VLSB+D与VLSB+2D之间的存储器单元将会被对应至弱的”0”,并编码为”001”。在第四次重读操作中,临界电压位于VLSB-D与VLSB-2D之间的存储器单元将会被对应至弱的”1”,并编码为”101”。在第五次重读操作中,临界电压位于VLSB+2D与VLSB+3D之间的存储器单元将会被对应至强的”0”,并编码为”010”。在第六次重读操作中,临界电压位于VLSB-2D与VLSB-3D之间的存储器单元将会被对应至弱的”1”,并编码为”110”。请注意到,码字与临界电压的对应关系可以任意地决定,只要正负号位元的(硬位元)的可靠度可以经由不同的码字来辨识。此外,码字的码字长度三个位元,其比一个存储器单元在一般读取操作与第一到第六此读取操作中所取得的二进制数字(字串)来得短。举例来说,一个存储器单元的临界电压位于VLSB+2D与VLSB+3D之间。在一般读取操作与第一到第六此读取操作中所取得该存储器单元的最低有效位元的二进制数字”0000000”(二进制数字组合BS8)。该二进制数字包含七个位元,其较码字的码字长度长。若错误更正解码器1222需要储存全部七个位元才能执行错误更正操作,而非只需要储存三个位元,错误更正解码器需要较多的存储器空间。因此,将在不同读取操作中所取得的二进制码字编码为较短的码字可以减少存储器空间,而成本亦可降低。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求书所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (18)

1.一种用以读取储存在一闪存的数据的方法,其中该闪存包含数个存储器单元并经由将该数个存储器单元中的一存储器单元编程至2N个电压状态中的一个电压状态以储存N位元数据,该方法包含:
控制该闪存对该存储器单元执行至少一读取操作以取得至少一二进制数字以代表该N位元数据的一位元;
依据该至少一二进制数字产生一码字以代表该N位元数据的该位元,其中该码字不同于该至少一二进制数字;以及
将该码字提供于一错误更正解码器以执行一错误更正操作,
其中控制该闪存对该存储器单元执行至少一读取操作以取得该至少一二进制数字以代表该N位元数据的该位元的操作的步骤更包含:
控制该闪存依据一第一临界电压对该存储器单元执行一第一读取操作以取得该至少一二进制数字的一第一二进制数字;以及
其中依据该至少一二进制数字产生该码字以代表该N位元数据的该位元的步骤更包含:
将该第一二进制数字判定为该码字的一正负号位元;以及
产生至少一强度位元以代表该正负号位元的一可靠度。
2.如权利要求1所述的用以读取储存在一闪存的数据的方法,其中将该码字提供于该错误更正解码器以执行该错误更正操作的步骤更包含:
将该码字储存至一缓冲存储器;以及
将储存在该缓冲存储器的码字提供至该错误更正解码器以执行该错误更正操作。
3.如权利要求1所述的用以读取储存在一闪存的数据的方法,其中产生该至少一强度位元以代表该正负号位元的该可靠度的步骤更包含:
将该至少一强度位元设定为一最高可靠度。
4.如权利要求1所述的用以读取储存在一闪存的数据的方法,其中控制该闪存对该存储器单元执行该至少一读取操作以取得该至少一二进制数字以代表该N位元数据的该位元的操作的步骤更包含:
控制该闪存依据一第二临界电压对该存储器单元执行一第二读取操作以取得该至少一二进制数字的一第二二进制数字;以及
其中依据该至少一二进制数字产生该码字以代表该N位元数据的该位元的步骤更包含:
比较该第二二进制数字以及该正负号位元以产生该码字。
5.如权利要求4所述的用以读取储存在一闪存的数据的方法,其中比较该第二二进制数字以及该正负号位元以产生该码字的步骤更包含:
当该第二二进制数字不同于该正负号位元时,更新该至少一强度位元以调整该正负号位元的该可靠度。
6.如权利要求4所述的用以读取储存在一闪存的数据的方法,其中比较该第二二进制数字以及该正负号位元以产生该码字的步骤更包含:
当该至少一强度位元已经被更新,维持该至少一强度位元。
7.如权利要求4所述的用以读取储存在一闪存的数据的方法,其中控制该闪存对该存储器单元执行该至少一读取操作以取得该至少一二进制数字以代表该N位元数据的该位元的操作的步骤更包含:
控制该闪存依据一第三临界电压对该闪存执行一第三读取操作以取得一第三二进制数字,其中该第一临界电压与第二临界电压的一第一电压差小于该第二临界电压与第三临界电压的一第二电压差;以及
其中依据该至少一二进制数字产生该码字以代表该N位元数据的该位元的步骤更包含:
当该第三二进制数字不同于该正负号位元时,将该至少一强度位元更新为一较高可靠度。
8.如权利要求1所述的用以读取储存在一闪存的数据的方法,其中该二进制数字包含M个二进制数字,而M大于该码字的一码字长度。
9.如权利要求8所述的用以读取储存在一闪存的数据的方法,其中该M个二进制数字得自依据M个不同临界电压的M次读取操作。
10.一种用以读取储存在一闪存的数据的存储器控制器,其中该闪存包含数个存储器单元并经由将该数个存储器单元中的一存储器单元编程至2N个电压状态中的一个电压状态以储存N位元数据,该存储器控制器包含:
一控制逻辑电路,用以控制该闪存对该存储器单元执行至少一读取操作以取得至少一二进制数字以代表该N位元数据的一位元;
一编码器,耦接至该控制逻辑电路,用以依据该至少一二进制数字产生一码字以代表该N位元数据的该位元,其中该码字不同于该至少一二进制数字;以及
一缓冲存储器,耦接至该编码器,用以储存该码字并将该码字提供于一错误更正解码器以执行一错误更正操作,
其中该控制逻辑电路更用于控制该闪存依据一第一临界电压对该存储器单元执行一第一读取操作以取得该至少一二进制数字的一第一二进制数字;以及
其中该编码器用更于将该第一二进制数字判定为该码字的一正负号位元,产生至少一强度位元以代表该正负号位元的一可靠度。
11.如权利要求10所述的用以读取储存在一闪存的数据的存储器控制器,其中该编码器更用于将该至少一强度位元设定为一最高可靠度。
12.如权利要求10所述的用以读取储存在一闪存的数据的存储器控制器,其中该控制逻辑电路更用于控制该闪存依据一第二临界电压对该存储器单元执行一第二读取操作以取得该至少一二进制数字的一第二二进制数字;以及
其中该编码器更用于比较该第二二进制数字以及该正负号位元以产生该码字。
13.如权利要求12所述的用以读取储存在一闪存的数据的存储器控制器,其中该编码器更用于当该第二二进制数字不同于该正负号位元时,更新该至少一强度位元以调整该正负号位元的该可靠度。
14.如权利要求12所述的用以读取储存在一闪存的数据的存储器控制器,其中该编码器更用于当该至少一强度位元已经被更新,维持该至少一强度位元。
15.如权利要求12所述的用以读取储存在一闪存的数据的存储器控制器,其中该控制逻辑电路更用于控制该闪存依据一第三临界电压对该闪存执行一第三读取操作以取得一第三二进制数字,其中该第一临界电压与第二临界电压的一第一电压差小于该第二临界电压与第三临界电压的一第二电压差;以及
其中该编码器更用于当该第三二进制数字不同于该正负号位元时,将该至少一强度位元更新为一较高可靠度。
16.如权利要求10所述的用以读取储存在一闪存的数据的存储器控制器,其中该二进制数字包含M个二进制数字,而M大于该码字的一码字长度。
17.如权利要求16所述的用以读取储存在一闪存的数据的存储器控制器,其中该M个二进制数字得自依据M个不同临界电压的M次读取操作。
18.一种用以读取储存在一闪存的数据的系统,其中该闪存包含数个存储器单元并经由将该数个存储器单元中的一存储器单元编程至2N个电压状态中的一个电压状态以储存N位元数据,该系统包含:
一控制逻辑电路,用以控制该闪存对该存储器单元执行至少一读取操作以取得至少一二进制数字以代表该N位元数据的一位元;
一编码器,耦接至该控制逻辑电路,用以依据该至少一二进制数字产生一码字以代表该N位元数据的该位元,其中该码字不同于该至少一二进制数字;以及
一缓冲存储器,耦接至该编码器,用以储存该码字并将该码字提供于一错误更正解码器以执行一错误更正操作,
其中该控制逻辑电路更用于控制该闪存依据一第一临界电压对该存储器单元执行一第一读取操作以取得该至少一二进制数字的一第一二进制数字;以及
其中该编码器用更于将该第一二进制数字判定为该码字的一正负号位元,产生至少一强度位元以代表该正负号位元的一可靠度。
CN201210149294.5A 2012-01-16 2012-05-15 读取闪存中所储存的数据的方法、存储器控制器与系统 Active CN103208306B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/351,143 US9093154B2 (en) 2012-01-16 2012-01-16 Method, memory controller and system for reading data stored in flash memory
US13/351,143 2012-01-16

Publications (2)

Publication Number Publication Date
CN103208306A CN103208306A (zh) 2013-07-17
CN103208306B true CN103208306B (zh) 2016-05-18

Family

ID=48755504

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210149294.5A Active CN103208306B (zh) 2012-01-16 2012-05-15 读取闪存中所储存的数据的方法、存储器控制器与系统

Country Status (3)

Country Link
US (1) US9093154B2 (zh)
CN (1) CN103208306B (zh)
TW (1) TWI514388B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104978147B (zh) * 2014-04-03 2018-09-07 光宝科技股份有限公司 固态储存装置及其错误更正控制方法
TWI492234B (zh) 2014-04-21 2015-07-11 Silicon Motion Inc 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與記憶體系統
TWI530959B (zh) 2014-06-17 2016-04-21 慧榮科技股份有限公司 用來控制一記憶裝置之方法以及記憶裝置與控制器
US10204006B2 (en) 2015-10-28 2019-02-12 Avago Technologies International Sales Pte. Limited Systems and methods for side data based soft data flash memory access
US10198316B2 (en) 2015-10-28 2019-02-05 Avago Technologies International Sales Pte. Limited Systems and methods for efficient flash memory access
US10108489B2 (en) 2015-10-28 2018-10-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for efficient soft data based flash memory data recovery
US20170329684A1 (en) * 2016-05-13 2017-11-16 Synology Incorporated Method and apparatus for performing data recovery in redundant storage system
TWI625715B (zh) * 2016-05-31 2018-06-01 瑞鼎科技股份有限公司 顯示驅動裝置及其運作方法
US10290353B2 (en) * 2016-09-06 2019-05-14 Western Digital Technologies, Inc. Error mitigation for 3D NAND flash memory
KR20180096845A (ko) * 2017-02-20 2018-08-30 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
TWI691967B (zh) * 2017-08-08 2020-04-21 慧榮科技股份有限公司 解碼方法及相關的快閃記憶體控制器與電子裝置
CN109308885A (zh) * 2018-12-11 2019-02-05 惠科股份有限公司 提升信号传输速率的方法及显示面板
TWI697000B (zh) * 2019-12-09 2020-06-21 慧榮科技股份有限公司 記憶體控制器及快閃記憶體的存取方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458954A (zh) * 2007-09-06 2009-06-17 三星电子株式会社 多位数据存储系统和读取操作

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100626391B1 (ko) * 2005-04-01 2006-09-20 삼성전자주식회사 원낸드 플래시 메모리 및 그것을 포함한 데이터 처리시스템
KR100845529B1 (ko) * 2007-01-03 2008-07-10 삼성전자주식회사 플래시 메모리 장치의 이씨씨 제어기 및 그것을 포함한메모리 시스템
KR100842680B1 (ko) * 2007-01-08 2008-07-01 삼성전자주식회사 플래시 메모리 장치의 오류 정정 컨트롤러 및 그것을포함하는 메모리 시스템
CN100468576C (zh) * 2007-05-30 2009-03-11 忆正存储技术(深圳)有限公司 闪存数据读写处理方法
KR20120137354A (ko) * 2010-01-28 2012-12-20 샌디스크 아이엘 엘티디 슬라이딩-윈도우 에러 정정
KR101598382B1 (ko) * 2010-03-02 2016-03-02 삼성전자주식회사 상태 기반 불휘발성 메모리 장치 및 그것의 에러 정정 방법
KR20110100739A (ko) * 2010-03-05 2011-09-15 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법, 컨트롤러의 동작 방법, 그리고 불휘발성 메모리 장치 및 컨트롤러를 포함하는 메모리 시스템의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458954A (zh) * 2007-09-06 2009-06-17 三星电子株式会社 多位数据存储系统和读取操作

Also Published As

Publication number Publication date
CN103208306A (zh) 2013-07-17
TWI514388B (zh) 2015-12-21
US9093154B2 (en) 2015-07-28
TW201331940A (zh) 2013-08-01
US20130182503A1 (en) 2013-07-18

Similar Documents

Publication Publication Date Title
CN103208306B (zh) 读取闪存中所储存的数据的方法、存储器控制器与系统
CN102568593B (zh) 读取快闪存储器中储存数据的方法、存储器控制器与装置
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
KR101739878B1 (ko) 컨트롤러, 이의 동작방법, 및 상기 컨트롤러를 포함한 메모리 시스템
CN103544073A (zh) 读取闪存中区块的数据的方法及相关的记忆装置
CN106843771B (zh) 存储器重读方法、存储器控制电路单元及存储器存储装置
CN103295635A (zh) 快闪存储器的数据读取方法、存储器控制装置和系统
CN105023613B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US10522234B2 (en) Bit tagging method, memory control circuit unit and memory storage device
US20200065187A1 (en) Data access method, memory control circuit unit and memory storage device
US20190163363A1 (en) Data accessing method, memory controlling circuit unit and memory storage device
KR102666852B1 (ko) 컨트롤러, 반도체 메모리 시스템 및 그의 동작 방법
KR102606866B1 (ko) 메모리 시스템 및 그의 동작 방법
CN103295631B (zh) 读取快闪存储器中所储存的数据的方法、存储器控制器与系统
CN109901784B (zh) 数据存取方法、存储器控制电路单元以及存储器储存装置
CN103295634B (zh) 读取快闪存储器中所储存的数据的方法、存储器控制器与系统
CN106681856A (zh) 解码方法、存储器存储装置及存储器控制电路单元
CN113628655A (zh) 用以存取闪存模块的方法、闪存控制器与电子装置
CN109559774B (zh) 解码方法、存储器控制电路单元以及存储器存储装置
CN112051963A (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置
CN110797069B (zh) 电压调整方法、存储器控制电路单元以及存储器存储装置
CN110874282B (zh) 数据存取方法、存储器控制电路单元与存储器存储装置
CN109508252B (zh) 数据编码方法、存储器控制电路单元与存储器存储装置
CN110275844A (zh) 利用自适应阈值解码的存储器系统及其操作方法
CN111666174B (zh) 数据写入方法、存储器控制电路单元以及存储器存储装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant