CN102831932B - 数据读取方法、存储器控制器及存储器储存装置 - Google Patents
数据读取方法、存储器控制器及存储器储存装置 Download PDFInfo
- Publication number
- CN102831932B CN102831932B CN201110159283.0A CN201110159283A CN102831932B CN 102831932 B CN102831932 B CN 102831932B CN 201110159283 A CN201110159283 A CN 201110159283A CN 102831932 B CN102831932 B CN 102831932B
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- error
- log
- likelihood ratio
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一种数据读取方法、存储器控制器及存储器储存装置,数据读取方法用于具有多个实体区块的可复写式非易失性存储器模组。每一实体区块具有多个实体页面。数据读取方法包括如下步骤。分割每一实体页面为多个位元数据区。在每一实体页面中,至少一位元数据区与其他位元数据区具有不同的数据长度。写入数据至位元数据区。每一位元数据区的数据为对应一错误校正码框。从该至少一位元数据区的错误校正码框中读取数据,因其数据长度较短故可增加数据的错误校正能力而确保数据可正确的被读取。进而,根据所读取的数据来获得一错误位元信息。根据错误位元信息调整对数似然比查询表或门槛值电压。
Description
技术领域
本发明涉及一种存储器***,尤其涉及一种具有较佳的错误位元校正能力的数据读取方法,以及使用该方法的存储器控制器及存储器储存装置。
背景技术
目前的闪速存储器主要分为两种,分别为反或闪速存储器(NORFlashMemory)与反及闪速存储器(NANDFlashMemory)。其中,反及闪速存储器存在着两种不同的储存模式,即多层存储单元(Multi-LevelCell,MLC)及单层存储单元(Single-LevelCell,SLC)。单层存储单元在每个存储单元中储存1个数据位元,而多层存储单元则可在每个存储单元中储存2个以上的数据位元。
一般而言,由数据位元线(BitLine)与字元线(WordLine)串起的存储单元阵列(memorycellarray),其在读取或写入数据到指定的存储单元时,其余非指定的存储单元则会受到干扰(disturb),进而改变这些存储单元写入的临界电压。另外,长期闲置、存储器漏电、或是多次使用(EraseorProgram)而造成磨耗(Wear)等情形,亦会使得存储单元写入的临界电压改变。此时,将会造成写入数据在读出时发生错误。
另一方面,存储器储存装置会需要使用错误校正能力较佳的错误校正技术(例如,低密度奇偶校验码(LowDensityParityCheckCode,LDPCcode))来对数据进行错误校正程序。存储器储存装置依据其所储存的一查询表取得软信息(SoftInformation)对应到的对数似然比(LogLikelihoodRatio,LLR),接着再以LDPC码进行错误更正的动作。然而,存储器储存装置中的可复写式非易失性存储器会随着其储存次数(erase-programtimes)的增加而改变其错误特性,因此若要取得最佳的对数似然比,则必须不断地统计可复写式非易失性存储器的错误特性,此举将对***造成相当大的负担。
发明内容
有鉴于此,本发明提供一种数据读取方法,其具有较佳的错误位元校正能力,并可依据所取得的错误位元信息选择性地调整对数似然比查询表或存储单元的门槛值电压。
本发明提供一种存储器控制器,其具有较佳的错误位元校正能力,并可依据所取得的错误位元信息选择性地调整对数似然比查询表或存储单元的门槛值电压。
本发明提供一种存储器储存装置,其具有较佳的错误位元校正能力,并可依据所取得的错误位元信息选择性地调整对数似然比查询表或存储单元的门槛值电压。
本发明提供一种数据读取方法,用于一可复写式非易失性存储器模组。可复写式非易失性存储器模组具有多个实体区块,且每一实体区块具有多个实体页面。数据读取方法包括如下步骤。分割每一实体页面为多个位元数据区。在每一实体页面当中至少一位元数据区相较于其他位元数据区具有不同的数据长度。写入一数据至位元数据区,其中每一位元数据区对应一错误校正码框,且在错误校正码框当中,对应于至少一位元数据区的错误校正码框为具有较短的数据长度。自位元数据区读取数据。根据所读取的数据执行一数据处理程序以获得一错误位元信息。根据错误位元信息,调整一对数似然比查询表或存储单元的至少一门槛值电压。
本发明提供一种存储器控制器,包括一主机***接口、一存储器接口、一存储器管理电路以及一对数似然比估算电路。主机***接口耦接一主机***。存储器接口耦接一可复写式非易失性存储器模组。可复写式非易失性存储器模组具有多个实体区块,且每一实体区块具有多个实体页面。存储器管理电路耦接至主机***接口与存储器接口。存储器管理电路分割每一实体页面为多个位元数据区;写入一数据至位元数据区;自位元数据区读取数据;根据所读取的数据执行一数据处理程序;以及根据错误位元信息,调整存储单元的至少一门槛值电压。对数似然比估算电路耦接存储器管理电路。对数似然比估算电路根据错误位元信息调整一对数似然比查询表。在每一实体页面当中至少一位元数据区相较于其他位元数据区具有不同的数据长度。以及,每一位元数据区对应一错误校正码框,在错误校正码框当中,对应至少一位元数据区的错误校正码框为具有较短的数据长度。
本发明提供一种存储器储存装置,包括一连接器、一可复写式非易失性存储器模组以及一存储器控制器。连接器耦接一主机***。可复写式非易失性存储器模组具有多个实体区块,且每一实体区块具有多个实体页面。存储器控制器耦接至可复写式非易失性存储器模组与连接器。存储器控制器分割每一实体页面为多个位元数据区;写入一数据至位元数据区;自位元数据区读取数据;根据所读取的数据执行一数据处理程序;以及根据错误位元信息,调整一对数似然比查询表或存储单元的至少一门槛值电压。在每一实体页面当中至少其中的一位元数据区相较于其他位元数据区具有不同的数据长度,以及每一位元数据区对应一错误校正码框,在错误校正码框当中,对应于至少一位元数据区的错误校正码框为具有较短的数据长度。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1A是根据本发明实施例所示使用可复写式非易失性存储器储存装置的主机***。
图1B是根据本发明范例实施例所示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据本发明另一范例实施例所示的主机***与存储器储存装置的示意图。
图2是图1A所示的存储器储存装置的概要方框图。
图3是根据本发明范例实施例所示的存储器控制器的概要方框图。
图4是根据本发明范例实施例所示的可复写式非易失性存储器模组实体页面的位元数据区的架构示意图。
图5是根据本发明范例实施例所示的存储器储存装置的概要方框图。
图6是根据本发明范例实施例所示的调整门槛值电压的方法的流程图。
图7是根据本发明范例实施例所示的存储器储存装置的概要方框图。
图8是根据本发明范例实施例所示的储存状态与位元数据读取电压的示意图。
图9是在图8所示的范例实施例中各种可能发生储存错误的储存状态的对应关系。
图10是根据本发明范例实施例所示的调整对数似然比的方法的流程图。
图11是根据本发明范例实施例所示的数据读取方法的流程图。
附图标记:
1000:主机***
1100:计算机
1102:微处理器
1104:随机存取存储器
1106:输入/输出装置
1108:***总线
1110:数据传输接口
1202:鼠标
1204:键盘
1206:显示器
1208:打印机
1212:随身碟
1214:记忆卡
1216:固态硬盘
1310:数码相机
1312:SD卡
1314:MMC卡
1316:记忆棒
1318:CF卡
1320:内嵌式储存装置
100:存储器储存装置
102:连接器
104、104’:存储器控制器
106:可复写式非易失性存储器模组
202、202’:存储器管理电路
204:主机接口
206:存储器接口
252:储存单元
254:电源管理电路
256:错误检查与校正电路
502:存储单元阵列
504:字元线控制电路
506:位元线控制电路
508:列译码器
510:数据输入/输出缓冲器
512:控制电路
702:对数似然比估算电路
704:对数似然比查询表
VA:第一位元数据读取电压
VB:第二位元数据读取电压
VC:第三位元数据读取电压
VD:第四位元数据读取电压
VE:第五位元数据读取电压
VF:第六位元数据读取电压
VG:第七位元数据读取电压
S602、S604、S606、S608、S610:调整门槛值电压的方法步骤
S1010、S1020、S1030、S1040、S1050:调整对数似然比的方法步骤
S1100、S1102、S1104、S1106、S1108:数据读取方法的步骤
具体实施方式
在本揭示中,每一实体页面中具有至少一数据位元区与其他数据位元区具有不同的数据长度。对应于数据位元区数据长度较短的错误校正码框具有较佳的错误位元校正能力。因此,存储器储存装置对所读取的数据进行错误校正程序时,可确保该等数据能有效地被校正。进而,存储器储存装置可根据所获得的错误位元信息,选择性地调整对数似然比查询表或存储单元的门槛值电压。以下将以数个范例实施例与附图来更详细描述本发明。
图1A是根据本发明实施例所示使用可复写式非易失性存储器储存装置的主机***。
请参照图1A,主机***1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(randomaccessmemory,RAM)1104、***总线1108以及数据传输接口1110。输入/输出装置1106包括如图1B的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图1B所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中可复写式非易失性存储器储存装置100是通过数据传输接口1110与主机***1000的其他元件耦接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的处理可将数据写入至可复写式非易失性存储器储存装置100或从可复写式非易失性存储器储存装置100中读取数据。例如,可复写式非易失性存储器储存装置100可以是如图1B所示的随身碟1212、记忆卡1214或固态硬盘(SolidStateDrive,SSD)1216。
一般而言,主机1000可实质地为可储存数据的任意***。虽然在本范例实施例中,主机***1000是以计算机***来做说明,然而,在本发明另一范例实施例中主机***1000可以是数码相机、摄像机、通信装置、音频播放器或视频播放器等***。例如,在主机***为数码相机(摄像机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memorystick)1316、CF卡1318或内嵌式储存装置1320(如图1C所示)。内嵌式储存装置1320包括内嵌式多媒体卡(EmbeddedMMC,eMMC)。值得一提的是,内嵌式多媒体卡是直接耦接于主机***的基板上。
图2是图1A所示的存储器储存装置的概要方框图。
请参照图2,存储器储存装置100包括连接器102、存储器控制器104与可复写式非易失性存储器模组106。
在本范例实施例中,连接器102是相容于串行先进附件(SerialAdvancedTechnologyAttachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接器102亦可以是符合电气和电子工程师协会(InstituteofElectricalandElectronicEngineers,IEEE)1394标准、平行先进附件(ParallelAdvancedTechnologyAttachment,PATA)标准、高速周边零件连接接口(PeripheralComponentInterconnectExpress,PCIExpress)标准、通用串行总线(UniversalSerialBus,USB)标准、安全数码(SecureDigital,SD)接口标准、记忆棒(MemoryStick,MS)接口标准、多媒体储存卡(MultiMediaCard,MMC)接口标准、小型可复写式非易失性(CompactFlash,CF)接口标准、集成式驱动电子接口(IntegratedDeviceElectronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机***1000的指令在可复写式非易失性存储器模组106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模组106是耦接至存储器控制器104,并且用以储存主机***1000所写入的数据。在本范例实施例中,可复写式非易失性存储器模组106为多阶存储单元(MultiLevelCell,MLC)NAND闪速存储器模组。然而,本发明不限于此,可复写式非易失性存储器模组106亦可是单阶存储单元(SingleLevelCell,SLC)NAND闪速存储器模组、其他可复写式非易失性存储器模组或其他具有相同特性的存储器模组。
图3是根据本发明范例实施例所示的存储器控制器的概要方框图。
请参照图3,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制器104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可复写式非易失性存储器模组106的特定区域(例如,存储器模组中专用于存放***数据的***区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制器104被使能时,微处理器单元会先执行此驱动码段来将储存于可复写式非易失性存储器模组106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。此外,在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以一硬件型式来实作。
主机接口204是耦接至存储器管理电路202并且用以接收与识别主机***1000所传送的指令与数据。也就是说,主机***1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204亦可以是相容于PATA标准、IEEE1394标准、PCIExpress标准、USB标准、SD标准、MS标准、MMC标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是耦接至存储器管理电路202并且用以存取可复写式非易失性存储器模组106。也就是说,欲写入至可复写式非易失性存储器模组106的数据会经由存储器接口206转换为可复写式非易失性存储器模组106所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括一储存单元252。储存单元252是耦接至存储器管理电路202可用以储存***数据、暂存来自于主机***1000的数据与指令或来自于可复写式非易失性存储器模组106的数据。
在本发明一范例实施例中,存储器控制器104还包括电源管理电路254。电源管理电路254是耦接至存储器管理电路202并且用以控制存储器储存装置100的电源。
在本发明一范例实施例中,存储器控制器104还包括错误检查与校正电路256。错误检查与校正电路256是耦接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机***1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误校正码(ErrorCheckingandCorrectingCode,ECCCode),并且存储器管理电路202会将对应此写入指令的数据与对应的错误校正码写入至可复写式非易失性存储器模组106中。之后,当存储器管理电路202从可复写式非易失性存储器模组106中读取数据时会同时读取此数据对应的错误校正码,并且错误检查与校正电路256会依据此错误校正码对所读取的数据执行错误检查与校正程序。
值得说明的是,在本发明的一范例实施例中,可复写式非易失性存储器模组的每一实体页面至少其中的一位元数据区与其他位元数据区具有不同的数据长度。对应于位元数据区数据长度较短的错误校正码框具有较佳的错误位元校正能力。因此,错误检查与校正电路256对所读取的数据进行错误校正程序时,可确保该等数据能有效地被检查与校正。进而,存储器管理电路202可根据所获得的错误位元信息,选择性地调整对数似然比查询表或存储单元的门槛值电压。
一般而言,以长度为8KB的实体页面为例,若存储器管理电路202将该实体页面平均分割为8个位元数据区,则每一位元数据区的可储存的数据长度约为1KB。然而,在此种情况下,即使搭配42位元数据BCH码(Bose、Ray-Chaudhuri、Hocquenghemcode)的错误校正码框,其校正能力(correctioncapability)仍无法达到10-14位元错误率(biterrorrate,BER)的译码输出(decoderoutput)。
图4是根据本发明范例实施例所示的可复写式非易失性存储器模组实体页面的位元区数据的架构示意图。
请参照图4,本实施例的存储器管理电路202在分割每一实体页面时,是将其分割为具有不同数据长度的位元数据区。特别是,数据长度较短的一位元数据区配置于每一实体页面的初始位置,其中对应于数据长度较短的该位元数据区的错误校正码框具有较佳的错误位元校正能力。
举例而言,在本实施例中,存储器管理电路202将每一实体页面分割为6个位元数据区。在该等位元数据区当中,初始位置的位元数据区长度为0.5KB,其他的位元数据区长度则为1.5KB。在此,搭配每一位元数据区者,是56位元数据BCH码的错误校正码框。因此,针对长度为0.5KB的位元数据区,56位元数据BCH码的错误校正码框具有较佳的错误位元校正能力。对应数据长度较短的位元数据区的错误校正码框可称之为“领导错误校正码框”(leadingECCframe)。
对于长度较短的位元数据区而言,56位元数据BCH码的领导错误校正码框可提供10-14位元错误率的译码输出。进而,错误检查与校正电路256对该长度较短的位元数据区进行读取时,其所读取的数据在进行错误校正程序时,可确保该等数据能更有效地被检查与校正。因此,错误检查与校正电路256可提供适当的错误位元信息,以利存储器管理电路202根据所获得的错误位元信息,选择性地调整其对数似然比查询表或存储单元的门槛值电压。
惟应注意的是,本实施例的数据长度较短的位元数据区虽配置于每一实体页面的初始位置,但本发明并不限于此。在其他实施例中,数据长度较短的位元数据区与领导错误校正码框亦可配置于任两个长度为1.5KB的位元数据区之间。此外,本发明的每一实体页面的位元数据区数目及长度也不限于本实施例所例示者。
在存储器管理电路202获得适当的错误位元信息之后,即可选择性地调整其对数似然比查询表或存储单元的门槛值电压。以下将以不同的范例实施例与附图来更详细描述如何调整其对数似然比查询表及存储单元的门槛值电压。
图5是根据本发明范例实施例所示的存储器储存装置的概要方框图。
请参照图3及图5,存储器储存装置100会与主机***1000一起使用,以使主机***1000可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。
存储器控制器104包括存储器管理电路202、主机接口204、存储器接口206、储存单元252、电源管理电路254与错误检查与校正电路256。其中存储器控制器104的结构与功能已描述如上,在此不重复描述。
存储器模组106用以储存主机***1000所写入的数据。在本实施例中,存储器模组106例如为MLC闪速存储器模组,其包括存储单元阵列502、字元线控制电路504、数据位元线控制电路506、列译码器(columndecoder)508、数据输入/输出缓冲器510与控制电路512。
存储单元阵列502包括用以储存数据的多个存储单元(图未示)、连接此些存储单元的多条数据位元线(图未示)、多条字元线与共用源极线(图未示)。存储单元是以阵列方式配置在数据位元线与字元线的交叉点上。当从存储器控制器104接收到写入指令或读取数据时,控制电路512会控制字元线控制电路504、数据位元线控制电路506、列译码器508、数据输入/输出缓冲器510来写入数据至存储器阵列502或从存储器阵列502中读取数据,其中字元线控制电路504用以控制施予至字元线的字元线电压,数据位元线控制电路506用以控制数据位元线,列译码器508依据指令中的译码列地址以选择对应的数据位元线,并且数据输入/输出缓冲器510用以暂存数据。
如前所述在本实施例中,存储器模组106为MLC闪速存储器,其使用多个浮动电压来代表多位元数据(bits)的数据。具体来说,存储单元阵列502的每一存储单元具有多个储存状态,并且此些储存状态是以多个位元数据读取电压来区分。在第三范例实施例中,控制电路512亦会控制字元线控制电路504、数据位元线控制电路506、列译码器508与数据输入/输出缓冲器510以执行数据的写入与读取。
图6是根据本发明范例实施例所示的调整门槛值电压的方法的流程图。
请参照图6,在步骤S602中,存储器管理电路202写入数据至存储器模组106的位元数据区。接着,在步骤S604中,存储器管理电路202自存储器模组106的位元数据区读取数据。此数据是对应至存储器模组106的其中一种储存状态,而两个储存状态的电压范围是由一门槛值电压来区分。
在本实施例中,当存储器管理电路202检测到存储器模组106发生不可校正错误时,存储器管理电路202便会控制错误检查与校正电路256开始执行调整门槛值电压的方法。例如,错误检查与校正电路256利用错误校正码框执行错误校正程序来得到错误位元数。而存储器管理电路202会在所发生的错误位元数超出一第一预设值时,判定存储器模组106发生不可校正错误。
在本实施例中,存储器管理电路202会针对存储器模组106的储存状态来决定用来进行测试的数据,也就是将这些数据写入至存储器模组106再读取出来进行比对,藉以调整门槛值电压。而在其他实施例中,亦可以写入一般的数据来调整门槛值电压。也就是说,存储器管理电路202在将数据写入至存储器模组106时,会将所写入的数据记录下来,之后自存储器模组106读取数据时,才能够比对所读取的数据与所写入的数据。
之后,在步骤S606中,存储器管理电路202分别比较所读取的每一笔数据与其对应所写入的数据而获得错误位元信息。换句话说,存储器管理电路202根据所读取的数据执行一数据处理程序,以获得错误位元信息。例如,可在存储器管理电路202写入数据至存储器模组106时,先行记录下所写入的数据。之后,存储器管理电路202便可将自存储器模组106所读取出的数据与其先前记录的数据进行比对,而获得错误位元信息。在此,错误位元信息包括错误位元数以及错误位元数据模式(例如,以存储单元只能储存1位元数据而言,读取的数据的储存状态由0变为1,或是由1变为0)。在本发明另一范例实施例中,上述数据处理程序亦可为一错误校正程序。此时,存储器管理电路202用错误校正码来完成数据校正,进而获得错误位元信息。
在计算出错误位元信息之后,如步骤S608所示,存储器管理电路202再依据错误位元信息,计算门槛值电压的补偿电压。在步骤S610中,存储器管理电路202藉由补偿电压来调整门槛值电压。
值得说明的是,本实施例的存储器管理电路202在分割每一实体页面时,将实体页面分割为具有不同数据长度的位元数据区。特别是,数据长度较短的一位元数据区配置于每一实体页面的初始位置,其中对应于数据长度较短的该位元数据区的错误校正码框具有较佳的错误位元校正能力。因此,错误检查与校正电路256可提供适当的错误位元信息,以利存储器管理电路202根据所获得的错误位元信息,选择性地调整其对数似然比查询表或存储单元的门槛值电压。
上述写入的数据包括多笔位元数据。以电压范围相邻的第一储存状态与第二储存状态为例,存储器管理电路202会统计这些位元数据在写入时为第一储存状态而在读取时为第二储存状态的第一错误位元数。并且,存储器管理电路202会统计这些位元数据在写入时为第二储存状态而在读取时为第一储存状态的第二错误位元数。在此,第一储存状态的电压范围小于第二储存状态的电压范围,而存储器管理电路202计算补偿电压是依据下列公式:
其中,x代表补偿电压,g代表常数,error2代表第二错误位元数,error1代表第一错误位元数。
而在计算出补偿电压x之后,则可将门槛值电压加上补偿电压而获得调整后的门槛值电压。
以每个存储单元中储存2个位元数据的存储器模组106而言,当其中一实体页面产生的错误位元数大于第一预设值或是错误位元数超出错误检查与校正电路256的错误校正能力时,存储器管理电路202可先判断此实体页面为快速实体页面或慢速实体页面。当此实体页面为快速实体页面时,存储器管理电路202会读取其中的一的快速实体页面的数据,并比对所读取的数据与原始数据,以找出错误位元数据位置。之后,再自错误位元数据位置读取对应的位元数据。存储器管理电路202会依据所读取的位元数据判断错误位元数据模式。例如,写入的位元数据为第一储存状态而读取出的位元数据为第二储存状态,或是写入的位元数据为第二储存状态,而读取出的位元数据为第一储存状态(第一储存状态与第二储存状态的电压范围相邻)。据此,存储器管理电路202会统计快速实体页面中位元数据为第一储存状态而误判为第二储存状态的第一错误位元数,以及统计位元数据为第二储存状态而误判至第一储存状态的第二错误位元数。另一方面,当此实体页面为慢速实体页面时,存储器管理电路202自慢速实体页面的错误位元数据位置读取出慢速实体页面对应的位元数据。并且,存储器管理电路202依据慢速实体页面的错误位元数据位置,读取快速实体页面对应的位元数据。藉此,存储器管理电路202可依据上述位元数据,计算慢速实体页面的第一错误位元数与第二错误位元数。
在本实施例中,在计算出错误位元信息之后,为了使计算之后的数据具有较高的可信度,存储器管理电路202还可先判断错误位元信息中的错误位元数是否大于一第二预设值,以在错误位元数大于第二预设值时再执行计算补偿值的步骤。
其中有关调整门槛值电压的方法的进一步说明已详叙在台湾申请案099111612相关段落中,其因引用而纳入本文成为揭示的一部分。
在本发明中,存储器储存装置除了根据错误位元信息,调整存储单元的门槛值电压之外,亦可选择调整对数似然比查询表。
图7是根据本发明范例实施例所示的存储器储存装置的概要方框图。请参照图7,本实施例的存储器控制器104’还包括一对数似然比估算电路702。存储器管理电路202’包括一对数似然比查询表704。
对数似然比估算电路702耦接存储器管理电路202’以及错误检查与校正电路256。对数似然比估算电路702系用以实现本范例实施例的对数似然比调整机制。此对数似然比调整机制的详细运作方式将于以下配合附图再作说明。在一范例实施例中,对数似然比估算电路702例如是以硬件型式实作成数个控制指令。在其他范例实施例中,对数似然比估算电路702也可以是固件型式实作成的控制指令或以程序码型式实作成的控制指令。
图8是根据本发明范例实施例所示的储存状态与位元数据读取电压的示意图。在本范例实施例中,可复写式非易失性存储器模组106为8阶存储单元NAND型闪速存储器,如图8所示,每个存储单元中的浮动电压系依据第一位元数据读取电压VA、第二位元数据读取电压VB、第三位元数据读取电压VC、第四位元数据读取电压VD、第五位元数据读取电压VE、第六位元数据读取电压VF与第七位元数据读取电压VG而区分为8种储存状态,分别是″111″、″110″、″100″、″101″、″001″、″000″、″010″与″011″。每个储存状态都包括最低有效位元数据(LeastSignificantBit,LSB)、中间有效位元数据(CenterSignificantBit,CSB),以及最高有效位元数据(MostSignificantBit,MSB)这3个位元数据。举例来说,在本范例实施例中各储存状态从左侧算起的第1个位元数据为LSB,从左侧算起的第2个位元数据为CSB,而从左侧算起的第3个位元数据为MSB。据此,每一存储单元可储存3个位元数据,故同一条字元线上的存储单元会构成3个实体页面(即,下实体页面、中实体页面以及上实体页面)的储存空间。也就是说,每一存储单元的LSB是对应下实体页面、每一存储单元的CSB是对应中实体页面,而每一存储单元的MSB是对应上实体页面。此外,数个实体页面会构成一个实体区块,而实体区块为执行抹除运作的最小单位。亦即,每一实体区块含有最小数目的一并被抹除的存储单元。在本范例实施例中,这8种储存状态的储存状态次序依序为″111″、″110″、″100″、″101″、″001″、″000″、″010″、″011″。必须说明的是,储存状态次序可能会依各家可复写式非易失性存储器芯片制造商的设计而有所不同,在此并不加以限制。
图9是在图8所示的范例实施例中各种可能发生储存错误的储存状态的对应关系。在图9中,标示在″→″的右方的储存状态代表读取数据的第一储存状态,而标示在″→″的左方的储存状态为读取数据的第二储存状态。
请同时参阅图8与图9,当读取数据的第一储存状态为″000″时,可能的第2储存状态是″010″、″001″。当读取数据的第一储存状态为″001″时,可能的第二储存状态是″101″、″000″。而当读取数据的第一储存状态为″010″时,可能的第二储存状态是″000″、″011″,以此类推。
在图9中标示为″*″之处,表示若读取数据在被读取时对应该第一储存状态,则储存错误发生在该位元数据的机率很小。例如,当读取数据的第一储存状态为″100″时,若储存错误发生在LSB则表示读取数据的第二储存状态应为″000″。但由于本范例实施例已假设储存错误仅会发生在储存状态次序相邻的储存状态之间,而对照图8可知储存状态″000″与储存状态″100″并不相邻,是故在读取数据的第一储存状态为″100″时,储存错误发生在LSB的机率相当的低,在此假设不会有读取数据的第二储存状态为″000″的情况,也就是LSB为0的对数似然比为负无限大。
在一范例实施例中,当对数似然比估算电路702取得读取数据的第一储存状态为″001″且第二储存状态为″000″,对数似然比估算电路702便会统计错误统计总数的存储单元所储存的该些数据中,取得数据被写入时为储存状态″000″但在被读取时为储存状态为″001″的储存错误总数,并且以上述算式(1)计算一对数似然比。然而,倘若读取数据的第一储存状态为″001″而第二储存状态为″100″,由于第一、第二储存状态在储存状态次序中并不相邻,因此对数似然比估算电路702会根据读取数据的一读取位元数据的值,将对数似然比设定为正无限大或负无限大。图9所示的对应关系可用来算出读取数据的储存错误发生在LSB、CSB或MSB的对数似然比。
图10是根据本发明范例实施例所示的调整对数似然比的方法的流程图。
在存储器储存装置100接收到主机***1000下达的读取指令后,首先如步骤S1010所示,存储器控制器104’中的存储器管理电路202’指示存储器模组106使用位元数据读取电压从存储单元中获取一读取数据,此读取数据对应第一储存状态。
接着在步骤S1020中,存储器控制器104’中的错误检查与校正电路256对读取数据执行一错误校正程序以获得读取数据在写入存储器模组106时所对应的第二储存状态。
接下来如步骤S1030所示,存储器控制器104’中的对数似然比估算电路702在符合错误统计总数的储存状态中,取得在写入时为第二储存状态而在读取时为第一储存状态的一储存错误总数。
在步骤S1040中,对数似然比估算电路702根据错误统计总数、储存状态的储存状态数量,以及储存错误总数执行一对数运算,以产生读取数据的一对数似然比,其中计算该对数似然比是依据下列公式:
其中LLR_c表示对数似然比,N表示错误统计总数、S表示储存状态数量,而W表示储存错误总数。
之后,在步骤S1050中,对数似然比估算电路702可直接利用估算所得的对数似然比来更新存储器管理电路202’中的对数似然比查询表704。亦即,利用该估算所得的对数似然比取代对数似然比查询表704中读取数据所对应的当前对数似然比。
其中有关调整对数似然比的方法的进一步说明已详叙在台湾申请案099131626相关段落中,其因引用而纳入本文成为揭示的一部分。
图11是根据本发明范例实施例所示的数据读取方法的流程图。
请同时参照图2及图11,本实施例的数据读取方法例如适用于一可复写式非易失性存储器模组,其包括如下步骤。首先,在步骤S1100中,分割存储器模组106的每一实体页面为多个位元数据区,其中分割后的实体页面的位元数据区长度及数量如图4所示。接着,在步骤S1102中,写入一数据至该等实体页面的位元数据区。之后,在步骤S1104中,自被写入数据的该等位元数据区中读取数据。继之,在步骤S1106中,根据所读取的数据执行一数据处理程序以获得一错误位元信息。其中,该数据处理程序包括比对所读取的该数据与所写入的该数据。或者,该数据处理程序亦可为一错误校正程序。接着,在步骤S1108中,根据错误位元信息,调整对数似然比查询表或存储单元的门槛值电压。
另外,本发明的实施例的数据读取方法可以由图1至图10实施例的叙述中获致足够的教示、建议与实施说明,因此不再赘述。
综上所述,在本发明的范例实施例中,对应于位元数据区数据长度较短的错误校正码框具有较佳的错误位元校正能力。因此,存储器储存装置对所读取的数据进行错误校正程序时,可确保该等数据能有效地被检查与校正。进而,存储器储存装置可根据所获得的错误位元信息,选择性地调整对数似然比查询表或存储单元的门槛值电压。
虽然本发明已以实施例揭示如上,然其并非用以限定本发明,任何所属技术领域的普通技术人员,当可作些许更动与润饰,而不脱离本发明的精神和范围。
Claims (21)
1.一种数据读取方法,用于一可复写式非易失性存储器模组,该可复写式非易失性存储器模组具有多个实体区块,且每一该些实体区块具有多个实体页面,该数据读取方法包括:
分割每一该些实体页面为多个位元数据区,其中在每一该些实体页面当中至少一位元数据区相较于其他位元数据区具有不同的数据长度;
写入一数据至该些位元数据区,其中每一该些位元数据区对应一错误校正码框,且在该些错误校正码框当中,对应于该至少一位元数据区的错误校正码框为具有较短的数据长度;
自该些位元数据区读取该数据;
根据所读取的该数据执行一数据处理程序以获得一错误位元信息;以及
根据该错误位元信息,调整一对数似然比查询表或至少一门槛值电压。
2.根据权利要求1所述的数据读取方法,其中分割每一该些实体页面的步骤包括:
将该至少一位元数据区配置于每一该些实体页面的初始位置,
其中对应于该至少一位元数据区的错误校正码框具有较佳的错误位元校正能力。
3.根据权利要求1所述的数据读取方法,其中调整该门槛值电压的步骤包括:
根据该错误位元信息计算该门槛值电压的补偿电压;以及
藉由该补偿电压来调整该至少一门槛值电压。
4.根据权利要求3所述的数据读取方法,其中根据所读取的该数据执行该数据处理程序以获得该错误位元信息的步骤包括比对所读取的该数据与所写入的该数据以获得一第一错误位元数及一第二错误位元数,其中计算该补偿电压是依据下列公式:
其中,x代表该补偿电压,g代表一常数,error1代表该第一错误位元数,error2代表该第二错误位元数。
5.根据权利要求1所述的数据读取方法,其中该可复写式非易失性存储器模组具有多个存储单元且每一该些存储单元具有多个储存状态,被读取的该数据对应一第一储存状态,其中根据所读取的该数据执行该数据处理程序以获得该错误位元信息的步骤包括对所读取的该数据执行一错误校正程序以获得所读取的该数据在写入时所对应的一第二储存状态。
6.根据权利要求5所述的数据读取方法,其中调整对数似然比查询表的步骤包括:
在所读取的符合一错误统计总数的该些储存状态中,取得在写入时为该第二储存状态而在读取时为该第一储存状态的一储存错误总数;以及
根据该错误统计总数、该些储存状态的一储存状态数量,以及该储存错误总数执行一对数运算,以产生被读取的该数据的一对数似然比,其中计算该对数似然比是依据下列公式:
其中LLR_c表示该对数似然比,N表示该错误统计总数、S表示该储存状态数量,而W表示该储存错误总数。
7.根据权利要求6所述的数据读取方法,其中该可复写式非易失性存储器模组配置于一存储器储存装置,该存储器储存装置包括该对数似然比查询表,该对数似然比查询表记录被读取的该数据所对应的一当前对数似然比,其中调整对数似然比查询表的步骤还包括:
利用该对数似然比取代该对数似然比查询表中的该当前对数似然比。
8.一种存储器控制器,包括:
一主机***接口,耦接一主机***;
一存储器接口,耦接一可复写式非易失性存储器模组,该可复写式非易失性存储器模组具有多个实体区块,且每一该些实体区块具有多个实体页面;
一存储器管理电路,耦接至该主机***接口与该存储器接口,该存储器管理电路分割每一该些实体页面为多个位元数据区;写入一数据至该些位元数据区;自该些位元数据区读取该数据;根据所读取的该数据执行一数据处理程序以获得一错误位元信息;以及根据该错误位元信息,调整至少一门槛值电压;以及
一对数似然比估算电路,耦接该存储器管理电路,该对数似然比估算电路根据该错误位元信息调整一对数似然比查询表,
其中在每一该些实体页面当中至少一位元数据区相较于其他位元数据区具有不同的数据长度,以及每一该些位元数据区对应一错误校正码框,在该些错误校正码框当中,对应该至少一位元数据区的错误校正码框为具有较短的数据长度。
9.根据权利要求8所述的存储器控制器,其中该存储器管理电路将数据长度较短的该至少一位元数据区配置于每一该实体页面的初始位置,其中对应于该至少一位元数据区的该错误校正码框具有较佳的错误位元校正能力。
10.根据权利要求8所述的存储器控制器,其中该存储器管理电路根据该错误位元信息计算该门槛值电压的补偿电压,并藉由该补偿电压来调整该至少一门槛值电压。
11.根据权利要求10所述的存储器控制器,其中该存储器管理电路执行该数据处理程序是比对所读取的该数据与所写入的该数据以获得一第一错误位元数及一第二错误位元数,其中计算该补偿电压是依据下列公式:
其中,x代表该补偿电压,g一代表常数,error1代表该第一错误位元数,error2代表该第二错误位元数。
12.根据权利要求8所述的存储器控制器,其中该可复写式非易失性存储器模组具有多个存储单元且每一该些存储单元具有多个储存状态,被读取的该数据对应一第一储存状态,其中该存储器管理电路执行该数据处理程序是对所读取的该数据执行一错误校正程序以获得所读取的该数据在写入时所对应的一第二储存状态。
13.根据权利要求12所述的存储器控制器,其中该对数似然比估算电路在所读取的符合一错误统计总数的该些储存状态中,取得在写入时为该第二储存状态而在读取时为该第一储存状态的一储存错误总数,并根据该错误统计总数、该些储存状态的一储存状态数量,以及该储存错误总数执行一对数运算,以产生被读取的该数据的一对数似然比,其中计算该对数似然比是依据下列公式:
其中LLR_c表示该对数似然比,N表示该错误统计总数、S表示该储存状态数量,而W表示该储存错误总数。
14.根据权利要求13所述的存储器控制器,其中该存储器管理电路具有该对数似然比查询表,该对数似然比查询表记录被读取的该数据所对应的一当前对数似然比,且该对数似然比估算电路利用该对数似然比取代该对数似然比查询表中的该当前对数似然比。
15.一种存储器储存装置,包括:
一连接器,耦接一主机***;
一可复写式非易失性存储器模组,具有多个实体区块,且每一该些实体区块具有多个实体页面;以及
一存储器控制器,耦接至该可复写式非易失性存储器模组与该连接器,该存储器控制器分割每一该些实体页面为多个位元数据区;写入一数据至该些位元数据区;自该些位元数据区读取该数据;根据所读取的该数据执行一数据处理程序;以及根据一错误位元信息,调整一对数似然比查询表或至少一门槛值电压,
其中在每一该些实体页面当中至少一位元数据区相较于其他位元数据区具有不同的数据长度,以及每一该些位元数据区对应一错误校正码框,在该些错误校正码框当中,对应于该至少一位元数据区的错误校正码框为具有较短的数据长度。
16.根据权利要求15所述的存储器储存装置,其中该存储器控制器将该至少一位元数据区配置于每一该些实体页面的初始位置,其中该至少一位元数据区的该错误校正码框具有较佳的错误位元校正能力。
17.根据权利要求15所述的存储器储存装置,其中该存储器控制器根据该错误位元信息计算该门槛值电压的补偿电压,并藉由该补偿电压来调整该至少一门槛值电压。
18.根据权利要求17所述的存储器储存装置,其中该存储器控制器执行该数据处理程序是比对所读取的该数据与所写入的该数据以获得一第一错误位元数及一第二错误位元数,其中计算该补偿电压是依据下列公式:
其中,x代表该补偿电压,g代表一常数,error1代表该第一错误位元数,error2代表该第二错误位元数。
19.根据权利要求15所述的存储器储存装置,其中该可复写式非易失性存储器模组具有多个存储单元且每一该些存储单元具有多个储存状态,被读取的该数据对应一第一储存状态,该存储器控制器执行该数据处理程序是对所读取的该数据执行一错误校正程序以获得所读取的该数据在写入时所对应的一第二储存状态。
20.根据权利要求19所述的存储器储存装置,其中该存储器控制器在所读取的符合一错误统计总数的该些储存状态中,取得在写入时为该第二储存状态而在读取时为该第一储存状态的一储存错误总数,并根据该错误统计总数、该些储存状态的一储存状态数量,以及该储存错误总数执行一对数运算,以产生被读取的该数据的一对数似然比,其中计算该对数似然比是依据下列公式:
其中LLR_c表示该对数似然比,N表示该错误统计总数、S表示该储存状态数量,而W表示该储存错误总数。
21.根据权利要求20所述的存储器储存装置,其中该存储器控制器具有该对数似然比查询表,该对数似然比查询表记录被读取的该数据所对应的一当前对数似然比,且该存储器控制器利用该对数似然比取代该对数似然比查询表中的该当前对数似然比。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110159283.0A CN102831932B (zh) | 2011-06-14 | 2011-06-14 | 数据读取方法、存储器控制器及存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110159283.0A CN102831932B (zh) | 2011-06-14 | 2011-06-14 | 数据读取方法、存储器控制器及存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102831932A CN102831932A (zh) | 2012-12-19 |
CN102831932B true CN102831932B (zh) | 2015-11-18 |
Family
ID=47335025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110159283.0A Active CN102831932B (zh) | 2011-06-14 | 2011-06-14 | 数据读取方法、存储器控制器及存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102831932B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2537484B (en) * | 2015-03-20 | 2019-07-03 | HGST Netherlands BV | Read level grouping for increased flash performance |
CN107301873B (zh) * | 2016-04-14 | 2021-01-12 | 群联电子股份有限公司 | 译码方法、存储器储存装置及存储器控制电路单元 |
TWI625715B (zh) * | 2016-05-31 | 2018-06-01 | 瑞鼎科技股份有限公司 | 顯示驅動裝置及其運作方法 |
US10783972B2 (en) * | 2018-08-02 | 2020-09-22 | SK Hynix Inc. | NAND flash memory with reconfigurable neighbor assisted LLR correction with downsampling and pipelining |
CN111289884A (zh) * | 2018-12-27 | 2020-06-16 | 展讯通信(上海)有限公司 | 一种存储器电压测试的测试装置、芯片及方法 |
US11403010B2 (en) * | 2020-08-19 | 2022-08-02 | Silicon Motion, Inc. | Data storage device and plane selection method thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
US7959301B2 (en) * | 2007-07-31 | 2011-06-14 | Kabushiki Kaisha Toshiba | Projection display device and display method |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7966550B2 (en) * | 2007-03-31 | 2011-06-21 | Sandisk Technologies Inc. | Soft bit data transmission for error correction control in non-volatile memory |
-
2011
- 2011-06-14 CN CN201110159283.0A patent/CN102831932B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101512661A (zh) * | 2006-05-12 | 2009-08-19 | 爱诺彼得技术有限责任公司 | 用于存储设备的失真估计与纠错编码的组合 |
US7959301B2 (en) * | 2007-07-31 | 2011-06-14 | Kabushiki Kaisha Toshiba | Projection display device and display method |
Also Published As
Publication number | Publication date |
---|---|
CN102831932A (zh) | 2012-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107133122B (zh) | 存储器控制方法 | |
US9442662B2 (en) | Device and method for managing die groups | |
TWI479495B (zh) | 資料讀取方法、記憶體控制器及記憶體儲存裝置 | |
US11862263B2 (en) | Storage device and method of operating the same | |
KR101616100B1 (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US8510637B2 (en) | Data reading method, memory storage apparatus and memory controller thereof | |
US9135112B2 (en) | Policy for read operations addressing on-the-fly decoding failure in non-volatile memory | |
TWI447733B (zh) | 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器 | |
CN106257594B (zh) | 读取干扰收回策略 | |
CN102543196B (zh) | 数据读取方法、存储器储存装置及其控制器 | |
US8578245B2 (en) | Data reading method, memory storage apparatus, and controller thereof | |
CN102831932B (zh) | 数据读取方法、存储器控制器及存储器储存装置 | |
US9563508B2 (en) | Memory management method, memory control circuit unit and memory storage apparatus | |
KR20140031556A (ko) | 플래시 메모리를 포함하는 플래시 메모리 시스템 및 그것의 비정상 워드 라인 검출 방법 | |
CN102693758B (zh) | 数据读取方法、存储器储存装置及其存储器控制器 | |
WO2014164134A2 (en) | Detecting effect of corrupting event on preloaded data in non-volatile memory | |
CN105005450A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
US11907059B2 (en) | Abnormal power loss recovery method, memory control circuit unit, and memory storage device | |
CN103870399A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
TW201348960A (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
CN102237139B (zh) | 计算补偿电压与调整阀值电压方法及存储器装置与控制器 | |
US9117533B2 (en) | Tracking erase operations to regions of non-volatile memory | |
TW201351137A (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
KR20210099895A (ko) | 메모리 시스템 및 그것의 동작방법 | |
CN108428467A (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 |