CN105095011B - 数据处理方法、存储器控制电路单元以及存储器存储装置 - Google Patents
数据处理方法、存储器控制电路单元以及存储器存储装置 Download PDFInfo
- Publication number
- CN105095011B CN105095011B CN201410220219.2A CN201410220219A CN105095011B CN 105095011 B CN105095011 B CN 105095011B CN 201410220219 A CN201410220219 A CN 201410220219A CN 105095011 B CN105095011 B CN 105095011B
- Authority
- CN
- China
- Prior art keywords
- error
- data
- user
- detecting code
- control circuit
- 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
Abstract
本发明提供一种数据处理方法、存储器控制电路单元以及存储器存储装置。此数据处理方法包括:根据第一读取命令,从第一物理抹除单元读取第一数据串,其中第一数据串包括第一使用者数据、第一错误检测码以及第一错误校正码。此数据处理方法也包括:使用第一错误检测码与第一错误校正码来解码第一使用者数据;并且判断第一使用者数据是否被正确地解码。此数据处理方法还包括倘若第一使用者数据成功地解码时,将正确地解码第一使用者数据所获得的校正后使用者数据传送给主机系统以回应第一读取指令。
Description
技术领域
本发明是有关于一种数据处理方法,且特别是有关于一种用于可复写式非易失性存储器的数据处理方法、存储器控制电路单元以及存储器存储装置。
背景技术
数码相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对存储媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,快闪存储器)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于所述所举例的各种可携式多媒体装置中。
随着工序的进步以及成本降低,使得存储器存储容量大幅上升,但是也造成数据的可靠度降低,因此使用错误更正码来提升可靠度。一般来说,写入至可复写式非易失性存储器模块的数据时,此数据会通过一错误检查与校正电路来编码以产生对应的错误校正码。而从可复写式非易失性存储器模块中所读取的数据也会经过对应的解码程序,以利用对应的错误检查与校正码来校正所读取的数据中的错误比特。传统上运用在NAND型快闪存储器的错误校正码是使用博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,以下简称BCH)算法来产生。然而,随着存储器容量的增加,使得要正确解码数据总共花费的时间也随之增加。基于此,如何减少解码所需要的时间提升解码效率,为此领域技术人员所关心的议题。
发明内容
本发明提供一种数据处理方法、存储器控制电路单元以及存储器存储装置,可减少解码数据所需的运算时间,进而增加读取数据的效率。
本发明提供一种数据处理方法,用于可复写式非易失性存储器模块,其中可复写式非易失性存储器模块包含多个物理抹除单元并且被配置多个逻辑单元以映射至少部分的此些物理抹除单元。所述数据处理方法包括:从主机系统接收第一读取命令,其中第一读取命令指示从此些逻辑单元的第一逻辑单元中读取数据,且第一逻辑单元映射此些物理抹除单元之中的第一物理抹除单元。所述数据处理方法也包括:从第一物理抹除单元读取第一数据串,其中第一数据串包括第一使用者数据、第一错误检测码以及第一错误校正码。所述数据处理方法还包括使用第一错误检测码、第一错误校正码与第一使用者数据进行第一解码程序。所述数据处理方法还包括:在第一解码程序中利用第一错误检测码与在第一解码程序中产生的第一使用者数据的第一错误比特位置来进行逻辑运算,并且当逻辑运算的结果符合预定规则时,停止第一解码程序,并且辨识第一使用者数据被成功地解码。倘若第一使用者数据成功地解码时,将成功地解码第一使用者数据所获得的校正后使用者数据传送给主机系统以回应第一读取指令。
在本发明的一实施例中,所述数据处理方法还包括:对第一数据串进行错误校正编码校验计算以产生对应第一数据串的第一校验子,并且对第一使用者数据进行循环冗余校验计算以产生对应第一使用者数据的第二错误检测码;根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目,并且根据第一校验子、第一错误定位多项式以及错误定位搜寻法获得对应第一使用者数据的第一错误比特位置;对第一错误比特位置进行循环冗余校验计算以产生对应第一错误比特位置的第三错误检测码,并且对第三错误检测码与第二错误检测码进行互斥或逻辑运算以产生第四错误检测码;判断第四错误检测码是否等于第一错误检测码;倘若第四错误检测码等于第一错误检测码时,停止第一解码程序并在无检查第一数据串是否可被校正下,使用第一错误比特位置校正第一使用者数据以获得校正后使用者数据,并且将校正后使用者数据传送给主机系统;以及,倘若第四错误检测码不等于第一错误检测码时,输出错误信息给主机系统。
在本发明的一实施例中,所述的数据处理方法还包括:在所述根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目的步骤之后,还会判断第一错误比特数目是否大于预先定义错误比特门槛值;以及倘若第一错误比特数目大于预先定义错误比特门槛值时,仅在检查第一数据串可被校正之后,才使用第一错误比特位置校正第一使用者数据以获得校正后使用者数据,并且将校正后使用者数据传送给主机系统。
在本发明的一实施例中,其中所述仅在检查该第一数据串可被校正之后,才使用第一错误比特位置校正第一使用者数据的步骤包括:在所述根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目的步骤之后,根据第一校验子、第一错误定位多项式以及错误定位搜寻法获得对应第一数据串的第二错误比特位置,其中第二错误比特位置包括第一错误比特位置;根据第二错误比特位置计算出一第二错误比特数目,并且判断第二错误比特数目是否等于第一错误比特数目;以及,倘若第二错误比特数目等于第一错误比特数目时,辨识第一数据串可被校正,并且直接根据第一使用者数据以及第一错误比特位置产生校正后使用者数据。
在本发明的一实施例中,所述的数据处理方法还包括:在所述进行将校正后使用者数据传送给主机系统的步骤之前,对校正后使用者数据进行循环冗余校验计算以产生对应校正后使用者数据的第五错误检测码,并且判断第五错误检测码是否等于第一错误检测码;倘若第五错误检测码等于第一错误检测码时,将校正后使用者数据传送给主机系统;以及倘若第五错误检测码不等于第一错误检测码时,输出错误信息给主机系统。
本发明提供一种存储器控制电路单元,用于控制可复写式非易失性存储器模块。所述的存储器控制电路单元包括:主机接口、存储器接口与存储器管理电路。主机接口电性连接至主机系统。存储器接口电性连接至可复写式非易失性存储器模块。其中可复写式非易失性存储器模块具有多个物理抹除单元。存储器管理电路电性连接至主机接口与存储器接口,并且配置多个逻辑单元以映射至少部分的此些物理抹除单元,其中存储器管理电路还用以从主机系统接收第一读取命令,其中第一读取命令指示从此些逻辑单元的第一逻辑单元中读取数据,并且第一逻辑单元映射此些物理抹除单元之中的第一物理抹除单元。存储器管理电路还用以下达指令序列以从第一物理抹除单元读取第一数据串,其中第一数据串包括第一使用者数据、第一错误检测码以及第一错误校正码。此外,存储器管理电路还用以使用第一错误检测码、第一错误校正码与第一使用者数据进行第一解码程序。并且,存储器管理电路还用以在第一解码程序中利用第一错误检测码与在第一解码程序中产生的第一使用者数据的第一错误比特位置来进行逻辑运算,并且当逻辑运算的结果符合预定规则时,停止第一解码程序,并且辨识第一使用者数据被成功地解码。倘若第一使用者数据成功地被解码时,存储器管理电路还用以将成功地解码第一使用者数据所获得的校正后使用者数据传送给主机系统以回应第一读取指令。
在本发明的一实施例中,所述存储器控制电路单元还包括:存储器管理电路用以对第一数据串进行错误校正编码校验计算以产生对应第一数据串的第一校验子,并且对第一使用者数据进行循环冗余校验计算以产生对应第一使用者数据的第二错误检测码。此外,存储器管理电路还用以根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目。以及,存储器管理电路还用以根据第一校验子、第一错误定位多项式以及错误定位搜寻法获得对应第一使用者数据的第一错误比特位置,并且对第一错误比特位置进行循环冗余校验计算以产生对应第一错误比特位置的第三错误检测码。再者,存储器管理电路还用以对第三错误检测码与第二错误检测码进行互斥或逻辑运算以产生第四错误检测码,并且判断第四错误检测码是否等于第一错误检测码。倘若第四错误检测码等于第一错误检测码时,存储器管理电路还用以停止第一解码程序并在无检查该第一数据串是否可被校正下,使用第一错误比特位置以校正第一使用者数据以获得校正后使用者数据,并且将校正后使用者数据传送给主机系统。以及,倘若第四错误检测码不等于第一错误检测码时,存储器管理电路还用以输出错误信息给主机系统。
在本发明的一实施例中,存储器管理电路还用以在所述根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目的运作之后,判断第一错误比特数目是否大于预先定义错误比特门槛值。倘若第一错误比特数目大于预先定义错误比特门槛值时,存储器管理电路还用以仅在检查第一数据串可被校正之后,才使用第一错误比特位置校正第一使用者数据以获得校正后使用者数据,并且将校正后使用者数据传送给主机系统。
在本发明的一实施例中,所述仅在检查第一数据串可被校正,才使用第一错误比特位置校正第一使用者数据的运作,存储器管理电路用以在所述根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目的运作之后,根据第一校验子、第一错误定位多项式以及错误定位搜寻法获得对应第一数据串的第二错误比特位置,并且根据第二错误比特位置计算出第二错误比特数目,其中第二错误比特位置包括第一错误比特位置。此外,存储器管理电路还用以判断第二错误比特数目是否等于第一错误比特数目。倘若第二错误比特数目等于第一错误比特数目时,存储器管理电路辨识第一数据串可被校正,并且直接根据第一使用者数据以及第一错误比特位置产生校正后使用者数据。
在本发明的一实施例中,在进行将校正后使用者数据传送给主机系统的运作之前,所述存储器管理电路还用以对校正后使用者数据进行循环冗余校验计算以产生对应校正后使用者数据的第五错误检测码,并且判断第五错误检测码是否等于第一错误检测码。倘若第五错误检测码等于第一错误检测码时,存储器管理电路将校正后使用者数据传送给主机系统。以及,倘若第五错误检测码不等于第一错误检测码时,存储器管理电路输出错误信息给主机系统。
本发明提供一种存储器存储装置,其包括:连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元电性连接至主机系统。可复写式非易失性存储器模块具有多个物理抹除单元。存储器控制电路单元电性连接至连接接口单元与可复写式非易失性存储器模块,并且配置多个逻辑单元以映射至少部分的此些物理抹除单元,其中存储器控制电路单元用以从主机系统接收第一读取命令,其中第一读取命令指示从此些逻辑单元的第一逻辑单元中读取数据,且第一逻辑单元映射此些物理抹除单元之中的第一物理抹除单元。此外,存储器控制电路单元还用以下达指令序列以从第一物理抹除单元读取第一数据串,其中第一数据串包括第一使用者数据、第一错误检测码以及第一错误校正码。再者,存储器控制电路单元还用以使用第一错误检测码、第一错误校正码与第一使用者数据进行第一解码程序。并且,存储器控制电路单元还用以在第一解码程序中利用第一错误检测码与在第一解码程序中产生的第一使用者数据的第一错误比特位置来进行逻辑运算,并且当逻辑运算的结果符合预定规则时,停止第一解码程序,并且辨识第一使用者数据被成功地解码。倘若第一使用者数据成功地解码时,存储器控制电路单元还用以将成功地解码第一使用者数据所获得的校正后使用者数据传送给主机系统以回应第一读取指令。
在本发明的一实施例中,所述存储器存储装置还包括:存储器控制电路单元对第一数据串进行错误校正编码校验计算以产生对应第一数据串的第一校验子,并且对第一使用者数据进行循环冗余校验计算以产生对应第一使用者数据的第二错误检测码。此外,存储器控制电路单元还用以根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目。另外,存储器控制电路单元还用以根据第一校验子、第一错误定位多项式以及错误定位搜寻法获得对应第一使用者数据的第一错误比特位置,并且对第一错误比特位置进行循环冗余校验计算以产生对应第一错误比特位置的一第三错误检测码。再者,存储器控制电路单元还用以对第三错误检测码与第二错误检测码进行互斥或逻辑运算以产生第四错误检测码,并且判断第四错误检测码是否等于第一错误检测码。倘若第四错误检测码等于第一错误检测码时,存储器控制电路单元还用以停止第一解码程序并在无检查该第一数据串是否可被校正下,使用第一错误比特位置以校正第一使用者数据以获得校正后使用者数据,并且将校正后使用者数据传送给主机系统。倘若第四错误检测码不等于第一错误检测码时,存储器控制电路单元还用以输出错误信息给主机系统。
在本发明的一实施例中,该存储器控制电路单元还用以在根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目的运作之后,判断第一错误比特数目是否大于预先定义错误比特门槛值。倘若第一错误比特数目大于预先定义错误比特门槛值时,存储器控制电路单元还用以仅在检查第一数据串是否可被校正之后,才使用第一错误比特位置校正第一使用者数据以获得校正后使用者数据,且将校正后使用者数据传送给主机系统。
在本发明的一实施例中,存储器控制电路单元用以在所述根据第一校验子产生对应第一数据串的第一错误定位多项式并计算第一数据串的第一错误比特数目之后,根据第一校验子、第一错误定位多项式以及错误定位搜寻法获得对应第一数据串的第二错误比特位置,根据第二错误比特位置计算出第二错误比特数目,并且判断第二错误比特数目是否等于第一错误比特数目,其中第二错误比特位置包括第一错误比特位置。倘若第二错误比特数目等于第一错误比特数目时,存储器控制电路单元辨识第一数据串可被校正,并且直接根据第一使用者数据以及第一错误比特位置产生校正后使用者数据。
在本发明的一实施例中,存储器控制电路单元还用以在进行将校正后使用者数据传送给主机系统的运作之前,对校正后使用者数据进行循环冗余校验计算以产生对应校正后使用者数据的第五错误检测码,以及判断第五错误检测码是否等于第一错误检测码。倘若第五错误检测码等于第一错误检测码时,存储器控制电路单元将校正后使用者数据传送给主机系统。并且,倘若第五错误检测码不等于第一错误检测码时,存储器控制电路单元输出错误信息给主机系统。
基于所述,本发明可以利用错误检测码来加强保护数据,同时也可以通过错误检测码检验解码出的数据正确时,在不用检查所读出的数据是否可被校正的情况下,即可提前结束整个错误校正码的解码流程,加速解码速度,增进读取数据的效率。
为让本发明的所述特征和优点能更明显易懂,下文特举实施例,并配合附图作详细说明如下。
附图说明
图1是根据一范例实施例所示出的主机系统与存储器存储装置示意图;
图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图;
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图;
图4是根据图1所示出的存储器存储装置的概要方块图;
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图;
图6是根据一范例实施例所示出的BCH错误校正码解码演算的架构图;
图7是根据一范例实施例所示出的数据处理方法的流程图;
图8是根据一范例实施例所示出的处理数据所需运算时间比较图。
附图标记说明:
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:存储器控制电路单元;
106:可复写式非易失性存储器模块;
202:存储器管理电路;
204:主机接口;
206:存储器接口;
208:错误检查与校正电路;
210:缓冲存储器;
212:电源管理电路;
601:第一数据串;
603:错误校正码校验子计算;
605:循环冗余校验计算;
607:伯利坎普-梅西(Berlekamp-Massey,简称BM)算法与钱式搜寻法(ChienSearch,简称CS);
S701、S703、S705、S707、S709、S711、S713:数据处理的步骤;
T1:对整个第一数据串进行CS所需的运算时间;
T2:仅对第一使用者数据与第一错误检测码进行CS所需的运算时间。
具体实施方式
一般而言,存储器存储装置(也称,存储器存储系统)包括可复写式非易失性存储器模块与控制器(也称,控制电路)。通常存储器存储装置是与主机系统一起使用,以使主机系统可将数据写入至存储器存储装置或从存储器存储装置中读取数据。
图1是根据一范例实施例所示出的主机系统与存储器存储装置示意图,并且图2是根据一范例实施例所示出的电脑、输入/输出装置与存储器存储装置的示意图。
请参照图1,主机系统1000一般包括电脑1100与输入/输出(input/output,简称I/O)装置1106。电脑1100包括微处理器1102、随机存取存储器(randomaccess memory,简称RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与打印机1208。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器存储装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。通过微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器存储装置100或从存储器存储装置100中读取数据。例如,存储器存储装置100可以是如图2所示的随身盘1212、记忆卡1214或固态硬盘(Solid StateDrive,简称SSD)1216等的可复写式非易失性存储器存储装置。
图3是根据一范例实施例所示出的主机系统与存储器存储装置的示意图。
一般而言,主机系统1000为可实质地与存储器存储装置100配合以存储数据的任意系统。虽然在本范例实施例中,主机系统1000是以电脑系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数码相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数码相机(摄影机)1310时,可复写式非易失性存储器存储装置则为其所使用的SD卡1312、MMC卡1314、记忆棒(memory stick)1316、CF卡1318或嵌入式存储装置1320(如图3所示)。嵌入式存储装置1320包括嵌入式多媒体卡(Embedded MMC,简称eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图4是根据图1所示出的存储器存储装置的概要方块图。
请参照图4,存储器存储装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是相容于序列先进附件(Serial AdvancedTechnology Attachment,简称SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102也可以是符合并列先进附件(Parallel Advanced Technology Attachment,简称PATA)标准、电气和电子工程师协会(Institute of Electrical and ElectronicEngineers,简称IEEE)1394标准、高速周边零件连接接口(Peripheral ComponentInterconnect Express,简称PCI Express)标准、通用序列总线(Universal Serial Bus,简称USB)标准、安全数码(Secure Digital,简称SD)接口标准、超高速一代(Ultra HighSpeed-I,简称UHS-I)接口标准、超高速二代(Ultra High Speed-II,简称UHS-II)接口标准、记忆棒(MemoryStick,简称MS)接口标准、多媒体存储卡(Multi Media Card,简称MMC)接口标准、嵌入式多媒体存储卡(Embedded Multimedia Card,简称eMMC)接口标准、通用快闪存储器(Universal Flash Storage,简称UFS)接口标准、小型快闪(Compact Flash,简称CF)接口标准、整合式驱动电子接口(Integrated Device Electronics,简称IDE)标准或其他适合的标准。连接接口单元102可与存储器控制电路单元104封装在一个芯片中,或者连接接口单元102是布设于一包含存储器控制电路单元104的芯片外。
存储器控制电路单元104用以执行以硬件形式或固件形式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可复写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块106是电性连接至存储器控制电路单元104,并且用以存储主机系统1000所写入的数据。可复写式非易失性存储器模块106可以是单阶存储单元(Single Level Cell,简称SLC)NAND型快闪存储器模块、多阶存储单元(Multi LevelCell,简称MLC)NAND型快闪存储器模块(即,一个存储单元中可存储2个比特数据的快闪存储器模块)、复数阶存储单元(Triple Level Cell,简称TLC)NAND型快闪存储器模块(即,一个存储单元中可存储3个比特数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图5所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。
请参照图5,存储器控制电路单元104包括存储器管理电路202、主机接口204、存储器接口206与错误检查与校正电路208。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器存储装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。
在本范例实施例中,存储器管理电路202的控制指令是以固件形式来实作。例如,存储器管理电路202具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被烧录至此只读存储器中。当存储器存储装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令也可以程序码形式存储于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有驱动码,并且当存储器控制电路单元104被致能时,微处理器单元会先执行此驱动码段来将存储于可复写式非易失性存储器模块106中的控制指令载入至存储器管理电路202的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在本发明另一范例实施例中,存储器管理电路202的控制指令也可以一硬件形式来实作。例如,存储器管理电路202包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。其中,存储单元管理电路用以管理可复写式非易失性存储器模块106的物理区块;存储器写入电路用以对可复写式非易失性存储器模块106下达写入指令以将数据写入至可复写式非易失性存储器模块106中;存储器读取电路用以对可复写式非易失性存储器模块106下达读取指令以从可复写式非易失性存储器模块106中读取数据;存储器抹除电路用以对可复写式非易失性存储器模块106下达抹除指令以将数据从可复写式非易失性存储器模块106中抹除;而数据处理电路用以处理欲写入至可复写式非易失性存储器模块106的数据以及从可复写式非易失性存储器模块106中读取的数据。
主机接口204是电性连接至存储器管理电路202并且用以接收与识别主机系统1000所传送的指令与数据。也就是说,主机系统1000所传送的指令与数据会通过主机接口204来传送至存储器管理电路202。在本范例实施例中,主机接口204是相容于SATA标准。然而,必须了解的是本发明不限于此,主机接口204也可以是相容于PATA标准、IEEE1394标准、PCI Express标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口206是电性连接至存储器管理电路202并且用以存取可复写式非易失性存储器模块106。也就是说,欲写入至可复写式非易失性存储器模块106的数据会经由存储器接口206转换为可复写式非易失性存储器模块106所能接受的格式。
错误检查与校正电路208是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,在本范例实施例中,当存储器管理电路202(或存储器控制电路单元104)从主机系统1000中接收到写入指令以及对应此写入指令的数据时,错误检查与校正电路208会使用博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem,以下简称BCH)错误校正码来产生对应此写入指令的数据的错误校正码(error correcting code,简称ECC),以及进行循环冗余校验(Cyclic Redundancy Check,简称CRC)计算以产生对应此写入指令的数据的错误检测码(error detecting code,简称EDC)。接着,存储器管理电路202(或存储器控制电路单元104)会将对应此写入指令的数据、对应此数据的错误校正码与错误检测码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202(或存储器控制电路单元104)从可复写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误校正码或错误检测码,并且错误检查与校正电路208会依据此错误校正码与错误检测码对所读取的数据执行错误检查与校正程序。
简单来说,使用BCH错误校正码,可通过计算对应所读取的数据的校验子(syndromes),使用校验子来构成错误定位多项式(error locator polynomial)及获取错误定位多项式的根(root)来计算所读取的数据中的错误比特的位置。最后,可通过将错误比特的位置所形成的比特值经过一逻辑运算反向计算来校正错误,由此获得校正后的数据。举例来说,当所读取到的数据为1111,并且计算出的对应此读取数据的错误位址为0001时,则代表第一个比特的数据发生错误,故对所读取数据的第一个比特做逻辑运算反向计算以得到校正后的数据,而在校正错误之后的校正后数据为1110(111~1)。
图6是根据一范例实施例所示出的BCH错误校正码解码演算的架构图。
请参考图6,举例来说,当接收到指示从被配置给可复写式非易失性存储器模块106的多个逻辑单元之中的一个逻辑单元(以下称为第一逻辑单元)来读取数据的第一读取命令时,存储器管理电路202(或存储器控制电路单元104)会识别此第一逻辑单元所映射的物理抹除单元(以下称为第一物理抹除单元)。接着,存储器管理电路202(或存储器控制电路单元104)会下达指令序列以从可复写式非易失性存储器模块106中的第一物理抹除单元中读取数据串601(以下称为第一数据串601)。此第一数据串601,如上所述,是经过BCH错误校正码编码之后,再写入第一物理抹除单元的数据集合。也就是说,此第一数据串601包括所欲读取的数据(以下称第一使用者数据UD1)、对应第一使用者数据UD1的第一错误检测码EDC1以及第一错误校正码ECC1。接着,存储器管理电路202(或存储器控制电路单元104)会对第一数据串601进行错误校正码校验子计算603(ECC Syndrome Calculate),以产生对应第一数据串601的第一校验子SYND1。同时,存储器管理电路202(或存储器控制电路单元104)对第一使用者数据UD1进行循环冗余校验计算(CRC Calculate)605,以获得第二错误检测码EDC2。
接着,在区块607中,存储器管理电路202(或存储器控制电路单元104)会根据第一校验子SYND1经由一算法,例如伯利坎普-梅西(Berlekamp-Massey,简称BM)算法(Inversionless Berlekamp-Massey算法或是Modified Euclidean算法或其他类型算法,可计算出对应第一数据串601的错误定位多项式(以下称第一错误定位多项式),并且计算出第一数据串601的错误比特数目(以下称第一错误比特数目)。存储器管理电路202(或存储器控制电路单元104)再利用另一算法来作为错误定位搜寻法,以找出错误比特位置。例如,钱式搜寻法(以下称Chien Search,简称CS)。具体来说,存储器管理电路202(或存储器控制电路单元104)会使用CS先找第一使用者数据UD1的错误比特位置,再找第一错误检测码EDC1的错误比特位置,最后找第一错误校正码ECC1的错误比特位置。例如,存储器管理电路202(或存储器控制电路单元104)根据第一校验子SYND1、第一错误定位多项式以及CS来先找出第一使用者数据UD1的错误比特位置(以下称第一错误比特位置)。接着,存储器管理电路202(或存储器控制电路单元104)对第一错误比特位置进行循环冗余校验计算以产生对应第一错误比特位置的第三错误检测码,并且对第三错误检测码与第二错误检测码EDC2进行互斥或(XOR)逻辑运算以产生第四错误检测码。再者,存储器管理电路202(或存储器控制电路单元104)会判断第四错误检测码是否等于第一错误检测码EDC1。倘若第四错误检测码等于第一错误检测码EDC1时,代表第一使用者数据UD1的循环冗余校验结果正确。倘若第四错误检测码不等于第一错误检测码EDC1时,代表第一使用者数据UD1的循环冗余校验结果错误,并且存储器管理电路202(或存储器控制电路单元104)会输出一个错误信息给主机系统。
倘若第一使用者数据UD1的循环冗余校验结果正确时,接着存储器管理电路202(或存储器控制电路单元104)便不需找出第一错误校正码ECC1的错误比特位置,直接提前结束CS以缩短运算时间。也就是说,倘若第一使用者数据UD1的循环冗余校验结果正确时,在不检查第一数据串601是否可被校正下,存储器管理电路202(或存储器控制电路单元104)会直接使用第一错误比特位置与第一使用者数据UD1进行互斥或(XOR)逻辑运算以产生校正后使用者数据,并且传送校正后使用者数据给主机系统。
值得一提的是,在另一范例实施例中,如所述的例子中,存储器管理电路202(或存储器控制电路单元104)还可在计算出第一错误比特数目之后,先判断第一错误比特数目是否大于一个预先定义错误比特门槛值。其中当第一错误比特数目大于一个预先定义错误比特门槛值时,代表第一使用者数据UD1有很大的可能无法被校正,也可能代表在区块607中所进行的对于第一使用者数据UD1的循环冗余校验结果会发生错误。因此,当第一错误比特数目大于一个预先定义错误比特门槛值时,存储器管理电路202(或存储器控制电路单元104)不会进行提前结束CS的动作,而会接续做一般校正的流程。也就是说,存储器管理电路202(或存储器控制电路单元104)会继续检查第一数据串601是否可校正,判定对整个第一数据串601所找出来的错误比特位置是可以信任的,接着才进行校正。值得一提的是,在本范例实施例中,所述预先定义错误比特门槛,可设定为错误检查与校正电路208的最大错误比特保护能力减1的值,但本发明不限于此。
具体来说,在此另一范例实施例中,倘若第一错误比特数目大于一个预先定义错误比特门槛值时,存储器管理电路202(或存储器控制电路单元104)利用CS在找完第一错误检测码EDC1的错误比特位置之后,会继续找第一错误校正码ECC1的错误比特位置以获得整个第一数据串601的错误比特位置。当获得整个第一数据串601的错误比特位置(以下称第二错误比特位置)时,存储器管理电路202(或存储器控制电路单元104)便可以根据第二错误比特位置去计算出第一数据串601的错误比特数目(以下称第二错误比特数目)。接着,存储器管理电路202(或存储器控制电路单元104)判断第二错误比特数目是否等于所述的第一错误比特数目。倘若第二错误比特数目等于所述的第一错误比特数目时,代表找出来的错误比特位置是可以信任的,于是存储器管理电路202(或存储器控制电路单元104)会辨识第一数据串601可被校正。然后,存储器管理电路202(或存储器控制电路单元104)将第一使用者数据UD1与第二错误比特位置进行互斥或逻辑运算,以产生校正后使用者数据。
在另一范例实施例中,存储器管理电路202(或存储器控制电路单元104)也可在传送校正后使用者数据给主机系统之前,对校正后使用者数据进行循环冗余校验计算以产生对应校正后使用者数据的第五错误检测码,并且判断第五错误检测码是否等于第一错误检测码EDC1。倘若第五错误检测码等于第一错误检测码EDC1时,便代表此校正后使用者数据是被正确地校正,此时,存储器管理电路202(或存储器控制电路单元104)才将此校正后使用者数据传送给主机系统。倘若第五错误检测码不等于第一错误检测码EDC1时,代表此校正后使用者数据没有被正确地校正,此时,存储器管理电路202(或存储器控制电路单元104)不传送此校正后使用者数据,并且输出一个错误信息给主机系统。
图7是根据一范例实施例所示出的的数据处理方法的流程图。
请参考图7,在步骤S701中,存储器管理电路202(或存储器控制电路单元104)从第一物理抹除单元读取第一数据串,其中第一数据串包括第一使用者数据、第一错误检测码以及第一错误校正码。接着,步骤S703中,存储器管理电路202(或存储器控制电路单元104)对第一数据串进行错误校正编码校验计算以产生对应第一数据串的第一校验子,以及同时对第一使用者数据进行循环冗余校验计算以产生对应该第一使用者数据的第二错误检测码。值得一提的是,在本范例实施例中,第一校验子与第二错误检测码是可以平行处理的,藉以增进运算效率。
然后,在步骤S705中,存储器管理电路202(或存储器控制电路单元104)根据第一校验子、第一错误定位多项式以及错误定位搜寻法获得对应第一使用者数据的第一错误比特位置。接着,在步骤S707中,存储器管理电路202(或存储器控制电路单元104)对第一错误比特位置进行循环冗余校验计算以产生对应第一错误比特位置的第三错误检测码,并且对第三错误检测码与第二错误检测码进行互斥或逻辑运算以产生第四错误检测码。以及,在步骤S709中,存储器管理电路202(或存储器控制电路单元104)判断第四错误检测码是否等于第一错误检测码。
倘若第四错误检测码等于第一错误检测码时,在步骤S711中,存储器管理电路202(或存储器控制电路单元104)会在不检查第一数据串是否可被校正下,使用第一错误比特位置校正第一使用者数据以获得校正后使用者数据,并且将校正后使用者数据传送给主机系统,结束整个解码流程。以及,倘若第四错误检测码不等于第一错误检测码时,在步骤S713中,存储器管理电路202(或存储器控制电路单元104)输出错误信息给主机系统,并结束整个解码流程。
图8是根据一范例实施例所示出的处理数据所需运算时间比较图。
本发明的范例实施例可仅执行第一使用者数据UD1与第一错误检测码EDC1的CS之后,便开始进行校正第一使用者数据的操作。请参照图8,T1为存储器管理电路202(或存储器控制电路单元104)对整个第一数据串601进行CS所需的运算时间,而T2为存储器管理电路202(或存储器控制电路单元104)仅对第一使用者数据UD1与第一错误检测码EDC1进行CS所需的运算时间,而T2小于T1。也就是说,本发明范例实施例可以因为仅执行第一使用者数据UD1与第一错误检测码EDC1的CS,使得进行CS的运算时间较为减少,进而减少整体进行错误校正的运算时间。
综上所述,本发明除了可以利用错误检测码来加强保护数据,还可以在通过错误检测码检验解码出的数据正确时,在不用检查第一数据串是否可被校正的情况下,即可提前结束整个错误校正码的解码流程,加速解码速度,增进读取数据的效率。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (12)
1.一种数据处理方法,用于一可复写式非易失性存储器模块,其特征在于,该可复写式非易失性存储器模块包含多个物理抹除单元并且多个逻辑单元以映射至少部分的该些物理抹除单元,该数据处理方法包括:
从一主机系统接收一第一读取命令,其中该第一读取命令指示从该些逻辑单元的一第一逻辑单元中读取一数据,且该第一逻辑单元映射该些物理抹除单元之中的一第一物理抹除单元;
从该第一物理抹除单元读取一第一数据串,其中该第一数据串包括一第一使用者数据、一第一错误检测码以及一第一错误校正码;
使用该第一错误检测码、该第一错误校正码与该第一使用者数据进行一第一解码程序,
在该第一解码程序中利用该第一错误检测码与在该第一解码程序中产生的该第一使用者数据的一第一错误比特位置来进行一逻辑运算,并且当该逻辑运算的一结果符合一预定规则时,停止该第一解码程序,并且辨识该第一使用者数据被成功地解码;以及
倘若该第一使用者数据成功地解码时,将成功地解码该第一使用者数据所获得的一校正后使用者数据传送给该主机系统以回应该第一读取指令,
其中在在该第一解码程序中利用该第一错误检测码与在该第一解码程序中产生的该第一使用者数据的该第一错误比特位置来进行该逻辑运算,并且当该逻辑运算的该结果符合该预定规则时,停止该第一解码程序,并且辨识该第一使用者数据被成功地解码中,包括:
对该第一数据串进行一错误校正编码校验计算以产生对应该第一数据串的一第一校验子;
对该第一使用者数据进行一循环冗余校验计算以产生对应该第一使用者数据的一第二错误检测码;
根据该第一校验子产生对应该第一数据串的一第一错误定位多项式并计算该第一数据串的一第一错误比特数目;
根据该第一校验子、该第一错误定位多项式以及一错误定位搜寻法获得对应该第一使用者数据的该第一错误比特位置;
对该第一错误比特位置进行该循环冗余校验计算以产生对应该第一错误比特位置的一第三错误检测码;
对该第三错误检测码与该第二错误检测码进行互斥或逻辑运算以产生一第四错误检测码;
判断该第四错误检测码是否等于该第一错误检测码;
倘若该第四错误检测码等于该第一错误检测码时,停止该第一解码程序,并在无检查该第一数据串是否可被校正下,使用该第一错误比特位置校正该第一使用者数据以获得该校正后使用者数据,并且将该校正后使用者数据传送给该主机系统;以及
倘若该第四错误检测码不等于该第一错误检测码时,输出一错误信息给该主机系统。
2.根据权利要求1所述的数据处理方法,其特征在于,在所述根据该第一校验子产生对应该第一数据串的该第一错误定位多项式并计算该第一数据串的该第一错误比特数目的步骤之后,还会先判断该第一错误比特数目是否大于一预先定义错误比特门槛值;
倘若该第一错误比特数目大于该预先定义错误比特门槛值时,仅在检查该第一数据串可被校正之后,才使用该第一错误比特位置校正该第一使用者数据以获得该校正后使用者数据,且将该校正后使用者数据传送给该主机系统。
3.根据权利要求2所述的数据处理方法,其特征在于,所述仅在检查该第一数据串可被校正之后,才使用该第一错误比特位置校正该第一使用者数据的步骤包括:
在所述根据该第一校验子产生对应该第一数据串的该第一错误定位多项式并计算该第一数据串的该第一错误比特数目的步骤之后,根据该第一校验子、该第一错误定位多项式以及该错误定位搜寻法获得对应该第一数据串的一第二错误比特位置,其中该第二错误比特位置包括该第一错误比特位置;
根据该第二错误比特位置计算出一第二错误比特数目;
判断该第二错误比特数目是否等于该第一错误比特数目;以及
倘若该第二错误比特数目等于该第一错误比特数目时,辨识该第一数据串可被校正,直接根据该第一使用者数据以及该第一错误比特位置产生该校正后使用者数据。
4.根据权利要求1所述的数据处理方法,其特征在于,在所述进行将该校正后使用者数据传送给该主机系统的步骤之前,还包括:
对该校正后使用者数据进行该循环冗余校验计算以产生对应该校正后使用者数据的一第五错误检测码;
判断该第五错误检测码是否等于该第一错误检测码;
倘若该第五错误检测码等于该第一错误检测码时,将该校正后使用者数据传送给该主机系统;以及
倘若该第五错误检测码不等于该第一错误检测码时,输出该错误信息给该主机系统。
5.一种存储器控制电路单元,用于控制一可复写式非易失性存储器模块,其特征在于,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个物理抹除单元;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且配置多个逻辑单元以映射至少部分的该些物理抹除单元,
其中该存储器管理电路用以从一主机系统接收一第一读取命令,其中该第一读取命令指示从该些逻辑单元的一第一逻辑单元中读取一数据,且该第一逻辑单元映射该些物理抹除单元之中的一第一物理抹除单元,
其中该存储器管理电路还用以下达一指令序列以从该第一物理抹除单元读取一第一数据串,其中该第一数据串包括一第一使用者数据、一第一错误检测码以及一第一错误校正码,
其中该存储器管理电路还用以使用该第一错误检测码、该第一错误校正码与该第一使用者数据进行一第一解码程序,在该第一解码程序中利用该第一错误检测码与在该第一解码程序中产生的该第一使用者数据的一第一错误比特位置来进行一逻辑运算,并且当该逻辑运算的一结果符合一预定规则时,该存储器管理电路停止该第一解码程序,并且辨识该第一使用者数据被成功地解码,
其中倘若该第一使用者数据成功地解码时,该存储器管理电路还用以将成功地解码该第一使用者数据所获得的一校正后使用者数据传送给该主机系统以回应该第一读取指令,
其中该存储器管理电路在所述使用该第一错误检测码、该第一错误校正码与该第一使用者数据进行该第一解码程序,在该第一解码程序中利用该第一错误检测码与在该第一解码程序中产生的该第一使用者数据的该第一错误比特位置来进行该逻辑运算,并且当该逻辑运算的该结果符合该预定规则时,该存储器管理电路停止该第一解码程序,并且辨识该第一使用者数据被成功地解码的运作中,
该存储器管理电路对该第一数据串进行一错误校正编码校验计算以产生对应该第一数据串的一第一校验子,并且对该第一使用者数据进行一循环冗余校验计算以产生对应该第一使用者数据的一第二错误检测码,
其中该存储器管理电路还用以根据该第一校验子产生对应该第一数据串的一第一错误定位多项式并计算该第一数据串的一第一错误比特数目,
其中该存储器管理电路还用以根据该第一校验子、该第一错误定位多项式以及一错误定位搜寻法获得对应该第一使用者数据的该第一错误比特位置,
其中该存储器管理电路还用以对该第一错误比特位置进行该循环冗余校验计算以产生对应该第一错误比特位置的一第三错误检测码,
其中该存储器管理电路还用以对该第三错误检测码与该第二错误检测码进行互斥或逻辑运算以产生一第四错误检测码,
其中该存储器管理电路还用以判断该第四错误检测码是否等于该第一错误检测码,
其中倘若该第四错误检测码等于该第一错误检测码时,该存储器管理电路停止该第一解码程序,并在无检查该第一数据串是否可被校正下,使用该第一错误比特位置以校正该第一使用者数据以获得该校正后使用者数据,并且将该校正后使用者数据传送给该主机系统,
其中倘若该第四错误检测码不等于该第一错误检测码时,该存储器管理电路还用以输出一错误信息给该主机系统。
6.根据权利要求5所述的存储器控制电路单元,其特征在于,在所述根据该第一校验子产生对应该第一数据串的该第一错误定位多项式并计算该第一数据串的该第一错误比特数目的运作之后,该存储器管理电路还用以判断该第一错误比特数目是否大于一预先定义错误比特门槛值,
其中倘若该第一错误比特数目大于该预先定义错误比特门槛值时,该存储器管理电路还用以仅在检查该第一数据串可被校正之后,才使用该第一错误比特位置校正该第一使用者数据以获得该校正后使用者数据,且将该校正后使用者数据传送给该主机系统。
7.根据权利要求6所述的存储器控制电路单元,其特征在于,该存储器管理电路用以在根据该第一校验子产生对应该第一数据串的该第一错误定位多项式并计算该第一数据串的该第一错误比特数目之后,根据该第一校验子、该第一错误定位多项式以及该错误定位搜寻法获得对应该第一数据串的一第二错误比特位置,其中该第二错误比特位置包括该第一错误比特位置,
其中该存储器管理电路还用以根据该第二错误比特位置计算出一第二错误比特数目,
其中该存储器管理电路还用以判断该第二错误比特数目是否等于该第一错误比特数目,
其中倘若该第二错误比特数目等于该第一错误比特数目时,该存储器管理电路辨识该第一数据串可被校正,并且直接根据该第一使用者数据以及该第一错误比特位置产生该校正后使用者数据。
8.根据权利要求5所述的存储器控制电路单元,其特征在于,该存储器管理电路还用以将该校正后使用者数据传送给该主机系统的运作之前,对该校正后使用者数据进行该循环冗余校验计算以产生对应该校正后使用者数据的一第五错误检测码,
其中该存储器管理电路还用以判断该第五错误检测码是否等于该第一错误检测码,
其中倘若该第五错误检测码等于该第一错误检测码时,该存储器管理电路将该校正后使用者数据传送给该主机系统,
其中倘若该第五错误检测码不等于该第一错误检测码时,该存储器管理电路输出该错误信息给该主机系统。
9.一种存储器存储装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,其中该可复写式非易失性存储器模块具有多个物理抹除单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,并且配置多个逻辑单元以映射至少部分的该些物理抹除单元,
其中该存储器控制电路单元还用以从一主机系统接收一第一读取命令,其中该第一读取命令指示从该些逻辑单元的一第一逻辑单元中读取一数据,且该第一逻辑单元映射该些物理抹除单元之中的一第一物理抹除单元,
从该第一物理抹除单元读取一第一数据串,其中该第一数据串包括一第一使用者数据、一第一错误检测码以及一第一错误校正码,
其中该存储器控制电路单元还用以使用该第一错误检测码、该第一错误校正码与该第一使用者数据进行一第一解码程序,在该第一解码程序中利用该第一错误检测码与在该第一解码程序中产生的该第一使用者数据的一第一错误比特位置来进行一逻辑运算,并且当该逻辑运算的一结果符合一预定规则时,该存储器管理电路停止该第一解码程序,该存储器控制电路单元停止该第一解码程序,并且辨识该第一使用者数据被成功地解码,
其中倘若该第一使用者数据成功地解码时,该存储器控制电路单元还用以将成功地解码该第一使用者数据所获得的一校正后使用者数据传送给该主机系统以回应该第一读取指令,
其中该存储器控制电路单元在所述使用该第一错误检测码、该第一错误校正码与该第一使用者数据进行该第一解码程序,在该第一解码程序中利用该第一错误检测码与在该第一解码程序中产生的该第一使用者数据的该第一错误比特位置来进行该逻辑运算,并且当该逻辑运算的该结果符合该预定规则时,该存储器管理电路停止该第一解码程序,并且辨识该第一使用者数据被成功地解码的运作中,
该存储器控制电路单元用以对该第一数据串进行一错误校正编码校验计算以产生对应该第一数据串的一第一校验子,并且对该第一使用者数据进行一循环冗余校验计算以产生对应该第一使用者数据的一第二错误检测码,
其中该存储器控制电路单元根据该第一校验子产生对应该第一数据串的一第一错误定位多项式并计算该第一数据串的一第一错误比特数目,
其中该存储器控制电路单元根据该第一校验子、该第一错误定位多项式以及一错误定位搜寻法获得对应该第一使用者数据的该第一错误比特位置,
其中该存储器控制电路单元对该第一错误比特位置进行该循环冗余校验计算以产生对应该第一错误比特位置的一第三错误检测码,
其中该存储器控制电路单元对该第三错误检测码与该第二错误检测码进行互斥或逻辑运算以产生一第四错误检测码,
其中该存储器控制电路单元判断该第四错误检测码是否等于该第一错误检测码,
其中倘若该第四错误检测码等于该第一错误检测码时,该存储器控制电路单元停止该第一解码程序,并在无检查该第一数据串是否可被校正下,使用该第一错误比特位置以校正该第一使用者数据以获得该校正后使用者数据,并且将该校正后使用者数据传送给该主机系统,
其中倘若该第四错误检测码不等于该第一错误检测码时,该存储器控制电路单元还用以输出一错误信息给该主机系统。
10.根据权利要求9所述的存储器存储装置,其特征在于,在该存储器控制电路单元还用以在根据该第一校验子产生对应该第一数据串的该第一错误定位多项式并计算该第一数据串的该第一错误比特数目的运作之后,判断该第一错误比特数目是否大于一预先定义错误比特门槛值,
其中倘若该第一错误比特数目大于该预先定义错误比特门槛值时,该存储器控制电路单元还用以仅在检查该第一数据串可被校正之后,才使用该第一错误比特位置校正该第一使用者数据以获得该校正后使用者数据,且将该校正后使用者数据传送给该主机系统。
11.根据权利要求10所述的存储器存储装置,其特征在于,在所述根据该第一校验子产生对应该第一数据串的该第一错误定位多项式并计算该第一数据串的该第一错误比特数目的运作之后,该存储器控制电路单元用以根据该第一校验子、该第一错误定位多项式以及该错误定位搜寻法获得对应该第一数据串的一第二错误比特位置,其中该第二错误比特位置包括该第一错误比特位置,
其中该存储器控制电路单元还用以根据该第二错误比特位置计算出一第二错误比特数目,
其中该存储器控制电路单元还用以判断该第二错误比特数目是否等于该第一错误比特数目,
其中倘若该第二错误比特数目等于该第一错误比特数目时,该存储器控制电路单元辨识该第一数据串可被校正,并且直接根据该第一使用者数据以及该第一错误比特位置产生该校正后使用者数据。
12.根据权利要求9所述的存储器存储装置,其特征在于,在所述进行将该校正后使用者数据传送给该主机系统的运作之前,
该存储器控制电路单元还用以对该校正后使用者数据进行该循环冗余校验计算以产生对应该校正后使用者数据的一第五错误检测码,
其中该存储器控制电路单元还用以判断该第五错误检测码是否等于该第一错误检测码,
其中倘若该第五错误检测码等于该第一错误检测码时,该存储器控制电路单元将该校正后使用者数据传送给该主机系统,
其中倘若该第五错误检测码不等于该第一错误检测码时,该存储器控制电路单元输出该错误信息给该主机系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410220219.2A CN105095011B (zh) | 2014-05-23 | 2014-05-23 | 数据处理方法、存储器控制电路单元以及存储器存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410220219.2A CN105095011B (zh) | 2014-05-23 | 2014-05-23 | 数据处理方法、存储器控制电路单元以及存储器存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105095011A CN105095011A (zh) | 2015-11-25 |
CN105095011B true CN105095011B (zh) | 2019-03-19 |
Family
ID=54575513
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410220219.2A Active CN105095011B (zh) | 2014-05-23 | 2014-05-23 | 数据处理方法、存储器控制电路单元以及存储器存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105095011B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677504A (zh) * | 2015-12-30 | 2016-06-15 | 深圳市芯海科技有限公司 | 一种解决处理器死机问题的方法 |
CN107179960B (zh) * | 2016-03-09 | 2020-05-26 | 群联电子股份有限公司 | 解码方法、存储器控制电路单元及存储器存储装置 |
US10411833B2 (en) * | 2016-07-29 | 2019-09-10 | Qualcomm Incorporated | Early termination techniques for successive decoding processes |
US10467774B2 (en) * | 2017-11-06 | 2019-11-05 | Qualcomm Incorporated | Memory address flipping to determine data content integrity in GPU sub-system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200937427A (en) * | 2008-02-29 | 2009-09-01 | Phison Electronics Corp | Block management method for flash memory, controller and storage system thereof |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI407327B (zh) * | 2009-11-24 | 2013-09-01 | Phison Electronics Corp | 資料處理方法、系統及儲存裝置控制器 |
TWI454912B (zh) * | 2012-01-06 | 2014-10-01 | Phison Electronics Corp | 資料處理方法、記憶體控制器與記憶體儲存裝置 |
JP5768022B2 (ja) * | 2012-03-19 | 2015-08-26 | 株式会社東芝 | メモリコントローラ、記憶装置、誤り訂正装置および誤り訂正方法 |
TWI521528B (zh) * | 2012-08-08 | 2016-02-11 | 群聯電子股份有限公司 | 記憶體儲存裝置、其記憶體控制器與資料處理方法 |
-
2014
- 2014-05-23 CN CN201410220219.2A patent/CN105095011B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200937427A (en) * | 2008-02-29 | 2009-09-01 | Phison Electronics Corp | Block management method for flash memory, controller and storage system thereof |
Also Published As
Publication number | Publication date |
---|---|
CN105095011A (zh) | 2015-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106169308A (zh) | 存储器控制器及其操作方法 | |
TW201331946A (zh) | 使用錯誤校正碼編碼以驗證錯誤校正碼解碼操作 | |
TW201346923A (zh) | 使用單一錯誤偵測奇偶校驗的抹除修正 | |
TWI564904B (zh) | 資料處理方法、記憶體控制電路單元以及記憶體儲存裝置 | |
US9979417B2 (en) | Enhanced chip-kill schemes by using ECC syndrome pattern | |
CN105022674B (zh) | 解码方法、存储器存储装置、存储器控制电路单元 | |
CN105095011B (zh) | 数据处理方法、存储器控制电路单元以及存储器存储装置 | |
CN109753376A (zh) | 存储器系统及其操作方法 | |
CN105304142B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
CN105468292A (zh) | 数据存取方法、存储器储存装置及存储器控制电路单元 | |
TWI640997B (zh) | 資料保護方法、記憶體控制電路單元與記憶體儲存裝置 | |
US10339991B2 (en) | Memory system having optimal threshold voltage and operating method thereof | |
CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN109491828A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI521531B (zh) | 資料讀取方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN109901784B (zh) | 数据存取方法、存储器控制电路单元以及存储器储存装置 | |
CN106681856A (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TW202022877A (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN105304143A (zh) | 解码方法、存储器控制电路单元及存储器存储装置 | |
TWI709850B (zh) | 資料寫入方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN109783001B (zh) | 数据编码方法、数据解码方法以及存储控制器 | |
CN105575440A (zh) | 错误处理方法、存储器储存装置及存储器控制电路单元 | |
CN109559774A (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
TWI541809B (zh) | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN112051963B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |