CN104810059A - 错误处理方法、存储器储存装置与存储器控制电路单元 - Google Patents
错误处理方法、存储器储存装置与存储器控制电路单元 Download PDFInfo
- Publication number
- CN104810059A CN104810059A CN201410033480.1A CN201410033480A CN104810059A CN 104810059 A CN104810059 A CN 104810059A CN 201410033480 A CN201410033480 A CN 201410033480A CN 104810059 A CN104810059 A CN 104810059A
- Authority
- CN
- China
- Prior art keywords
- passage
- event
- count value
- control circuit
- circuit unit
- 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
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提出一种错误处理方法、存储器储存装置与存储器控制电路单元。此方法包括:取得对应一通道的完成事件;判断此完成事件是否为失败事件;若完成事件为失败事件,停止该通道的运作,并且对此通道所对应的计数值执行第一更新运算;若完成事件不是失败事件,维持第一通道所对应的计数值不变;以及处理完成事件。其中处理完成事件的步骤包括:若完成事件为失败事件,对第一通道所对应的计数值执行第二更新运算;若计数值符合一临界条件时,恢复第一通道的运作。藉此,可以增加存取的效能。
Description
技术领域
本发明是有关于一种错误处理方法,且特别是有关于一种可复写式非易失性存储器模块的错误处理方法、存储器储存装置与存储器控制电路单元。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,可复写式非易失性存储器模块是由一个存储器控制电路单元来控制。在一些实作下,多个通道会电性连接在存储器控制电路单元与可复写式非易失性存储器模块之间,藉此增加存取的效能。当一个通道上发生了失败事件时,此通道的运作会被暂停,直到该失败事件对应的错误处理被执行以后。然而,若以管线的方式来执行指令,则通道上可能会发生多个失败事件,因此必须在检查所有的失败事件以后,才能够恢复通道的运作,导致存取效能的降低。因此,如何在上述情况下提升存取的效能,为本领域技术人员所关心的议题。
发明内容
本发明提供一种错误处理方法、存储器储存装置与存储器控制电路单元,可以提升存取的效能。
本发明一范例实施例提出一种错误处理方法,用于一存储器控制电路单元,其中多个通道电性连接在存储器控制电路单元与一可复写式非易失性存储器模块之间。此错误处理方法包括:取得对应第一通道的完成事件;判断完成事件是否为失败事件;若完成事件为失败事件,停止第一通道的运作,并且对第一通道所对应的计数值执行第一更新运算;若完成事件不是失败事 件,维持第一通道所对应的计数值不变;以及处理完成事件。其中处理完成事件的步骤包括:若完成事件为失败事件,对第一通道所对应的计数值执行第二更新运算;若计数值符合一临界条件时,恢复第一通道的运作。
在一范例实施例中,上述取得完成事件的步骤还包括:将完成事件加入一完成事件队列当中。其中第一更新运算是用以增加第一通道所对应的计数值,第二更新运算是用以减少第一通道所对应的计数值,并且计数值是用以表示在完成事件队列当中,对应第一通道的失败事件的总数。
在一范例实施例中,上述的错误处理方法还包括:若第一通道所对应的计数值等于临界值,判断计数值符合临界条件。
在一范例实施例中,上述处理完成事件的步骤还包括:从完成事件队列中取得完成事件;以及,若此完成事件不是失败事件,维持第一通道所对应的计数值不变。
在一范例实施例中,上述的第二更新运算是在第一通道处于一稳态以后所执行。
在一范例实施例中,上述的错误处理方法还包括:对每一个通道配置相对应的执行中事件队列,其中每一个执行中事件队列是用以储存对应的通道所需执行的指令,并且该指令是以管线的方式被执行;对每一个通道配置相对应的计数单元,其中第一通道所对应的计数单元用以更新第一通道所对应的计数值;以及对上述的多个通道分配一个完成事件队列,用以储存这些通道的完成事件。
在一范例实施例中,上述停止第一通道的运作的步骤包括:停止通过第一通道对可复写式非易失性存储器模块下达指令。
本发明一范例实施例提出一种存储器储存装置,包括连接接口单元、可复写式非易失性存储器模块与存储器控制电路单元。连接接口单元是用以电性连接至主机系统。可复写式非易失性存储器模块包括多个物理抹除单元。存储器控制电路单元是电性连接至连接接口单元与可复写式非易失性存储器模块,多个通道电性连接在存储器控制电路单元与可复写式非易失性存储器模块之间。存储器控制电路单元用以取得对应第一通道的完成事件,并且判断此完成事件是否为一失败事件。若完成事件为失败事件,存储器控制电路单元用以停止第一通道的一运作,并且对第一通道所对应的计数值执行第一更新运算。若完成事件不是失败事件,存储器控制电路单元用以维持第一通 道所对应的计数值不变。存储器控制电路单元用以处理完成事件,包括:若完成事件为失败事件,存储器控制电路单元用以对第一通道所对应的计数值执行第二更新运算;并且若计数值符合一临界条件,存储器控制电路单元用以恢复第一通道的运作。
在一范例实施例中,上述的存储器控制电路单元还用以将完成事件加入一完成事件队列当中。第一更新运算是用以增加第一通道所对应的计数值,第二更新运算是用以减少第一通道所对应的计数值,并且计数值是用以表示完成事件队列当中,对应第一通道的失败事件的总数。
在一范例实施例中,若第一通道所对应的计数值等于一临界值,存储器控制电路单元判断计数值符合临界条件。
在一范例实施例中,上述的存储器控制电路单元还用以从完成事件队列中取得完成事件。若完成事件不是失败事件,存储器控制电路单元维持第一通道所对应的计数值不变。
在一范例实施例中,上述的每一个通道具有相对应的执行中事件队列与计数单元。每一个执行中事件队列是用以储存对应的通道所需执行的指令,并且该指令是以管线的方式被执行。其中,第一通道所对应的计数单元是用以更新第一通道所对应的计数值。存储器控制电路单元还用以对上述的多个通道配置一个完成事件队列,用以储存这些通道的完成事件。
在一范例实施例中,上述的存储器控制电路单元还用以停止通过第一通道对可复写式非易失性存储器模块下达指令。
本发明一范例实施例提出一种存储器控制电路单元,用于一可复写式非易失性存储器模块。存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口是用以电性连接至主机系统。存储器接口是用以电性连接至可复写式非易失性存储器模块,其中多个通道电性连接在存储器控制电路单元与可复写式非易失性存储器模块之间。存储器管理电路,电性连接至主机接口与存储器接口。存储器接口用以取得对应第一通道的一完成事件,并且判断完成事件是否为失败事件。若完成事件为一失败事件,存储器接口用以停止第一通道的运作,并且存储器管理电路对第一通道所对应的计数值执行第一更新运算。若完成事件不是失败事件,存储器管理电路用以维持第一通道所对应的计数值不变。存储器管理电路用以处理完成事件,包括:若完成事件为失败事件,存储器管理电路用以对第一通道所对应的计数值执行 第二更新运算;若计数值符合一临界条件,存储器管理电路用以恢复第一通道的运作。
在一范例实施例中,上述的存储器接口还用以将完成事件加入一完成事件队列当中。其中第一更新运算是用以增加第一通道所对应的计数值,第二更新运算是用以减少第一通道所对应的计数值,并且计数值是用以表示完成事件队列当中,对应第一通道的失败事件的总数。
在一范例实施例中,若第一通道所对应的计数值等于临界值,存储器管理电路用以判断计数值符合临界条件。
在一范例实施例中,上述的存储器管理电路还用以从完成事件队列中取得完成事件。若完成事件不是失败事件,存储器管理电路维持第一通道所对应的计数值不变。
在一范例实施例中,上述的每一个通道具有相对应的执行中事件队列与计数单元。每一个执行中事件队列是用以储存对应的通道所需执行的指令,并且该指令是以管线的方式被执行。其中,第一通道所对应的计数单元是用以更新第一通道所对应的计数值。存储器管理电路还用以对上述的多个通道配置一个完成事件队列,用以储存这些通道的完成事件。
在一范例实施例中,上述的存储器接口还用以停止通过第一通道对可复写式非易失性存储器模块下达指令。
基于上述,本发明范例实施例提出的错误处理方法、存储器储存装置与存储器控制电路单元,可以及时地恢复通道的运作,藉此增加可复写式非易失性存储器的存取效能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。
图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图2是绘示图1A所示的存储器储存装置的概要方块图。
图3是根据一范例实施例所绘示的存储器控制电路单元的概要方块图。
图4是根据一范例实施例绘示下达指令给可复写式非易失性存储器模块的范例示意图。
图5是根据一范例实施例绘示完成事件队列的示意图。
图6A与图6B是根据一范例实施例绘示错误处理方法的流程图。
[标号说明]
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:可复写式非易失性存储器模块
304(0)~304(R):物理抹除单元 202:存储器管理电路
204:主机接口 206:存储器接口
252:缓冲存储器 254:电源管理电路
256:错误检查与校正电路 510:完成事件队列
511~516:完成事件 S601~S610:步骤
具体实施方式
一般而言,存储器储存装置(亦称,存储器储存系统)包括可复写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1A是根据一范例实施例所绘示的主机系统与存储器储存装置。图1B是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示 意图。图1C是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
请参照图1A,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,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或固态硬盘(Solid State Drive,SSD)1216等的可复写式非易失性存储器储存装置。
一般而言,主机系统1000为可实质地与存储器储存装置100配合以储存数据的任意系统。虽然在本范例实施例中,主机系统1000是以计算机系统来作说明,然而,在本发明另一范例实施例中主机系统1000可以是数字相机、摄影机、通信装置、音频播放器或视频播放器等系统。例如,在主机系统为数字相机(摄影机)1310时,可复写式非易失性存储器储存装置则为其所使用的SD卡1312、MMC卡1314、存储棒(memory stick)1316、CF卡1318或嵌入式储存装置1320(如图1C所示)。嵌入式储存装置1320包括嵌入式多媒体卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒体卡是直接电性连接于主机系统的基板上。
图2是绘示图1A所示的存储器储存装置的概要方块图。
请参照图2,存储器储存装置100包括连接接口单元102、存储器控制电路单元104与可复写式非易失性存储器模块106。
在本范例实施例中,连接接口单元102是兼容于序列先进附件(Serial Advanced Technology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元102亦可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速外围零件连接接口 (Peripheral Component Interconnect Express,PCI Express)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数字(Secure Digital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,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具有物理抹除单元304(0)~304(R)。例如,物理抹除单元304(0)~304(R)可属于同一个存储器晶粒(die)或者属于不同的存储器晶粒。每一物理抹除单元分别具有多个物理编程单元,并且属于同一个物理抹除单元的物理编程单元可被独立地写入且被同时地抹除。例如,每一物理抹除单元是由128个物理编程单元所组成。然而,必须了解的是,本发明不限于此,每一物理抹除单元是可由64个物理编程单元、256个物理编程单元或其它任意个物理编程单元所组成。
更具体来说,每一个物理抹除单元包括多条字线与多条位线,每一条字线与每一位线交叉处配置有一个存储单元。每一个存储单元可储存一或多个位。在同一个物理抹除单元中,所有的存储单元会一起被抹除。在此范例实施例中,物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。例如,物理抹除单元为物理区块。另一方面,同一个字线上的存储单元会组成一或多个物理编程单元。若每一个存储单元可储存2个以上的位,则同一个字线上的物理编程单元可被分类为下物理编程单元与上物理编程单元。一般来说,下物理编程单元的写入速度会大于上物理编程单元的写入速度。在此范例实施例中,物理编程单元为编程的 最小单元。即,物理编程单元为写入数据的最小单元。例如,物理编程单元为物理页面或是物理扇(sector)。若物理编程单元为物理页面,则每一个物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理扇,用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,错误校正码)。在本范例实施例中,每一个数据位区包含32个物理扇,且一个物理扇的大小为512字节(byte,B)。然而,在其它范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的物理扇,本发明并不限制物理扇的大小以及个数。
在本范例实施例中,可复写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,MLC)NAND型闪存模块,即一个存储单元中可储存至少2个位。然而,本发明不限于此,可复写式非易失性存储器模块106亦可是单阶存储单元(Single Level Cell,SLC)NAND型闪存模块、多阶存储单元(Trinary Level Cell,TLC)NAND型闪存模块、其它闪存模块或其它具有相同特性的存储器模块。
图3是根据一范例实施例所绘示的存储器控制电路单元的概要方块图。
请参照图3,存储器控制电路单元104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路202用以控制存储器控制电路单元104的整体运作。具体来说,存储器管理电路202具有多个控制指令,并且在存储器储存装置100运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路202的操作时,等同于说明存储器控制电路单元104的操作,以下并不再赘述。
在本范例实施例中,存储器管理电路202的控制指令是以固件型式来实作。例如,存储器管理电路202具有微处理器单元(未绘示)与只读存储器(未绘示),并且此些控制指令是被烧录至此只读存储器中。当存储器储存装置100运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在本发明另一范例实施例中,存储器管理电路202的控制指令亦可以程序码型式储存于可复写式非易失性存储器模块106的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路202具有微处理器单元(未绘示)、只读存储器(未绘示)及随机存取存储器(未绘示)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元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所能接受的格式。
在本发明一范例实施例中,存储器控制电路单元104还包括缓冲存储器252、电源管理电路254与错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于 主机系统1000的数据与指令或来自于可复写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误校正码(error correcting code,ECC),并且存储器管理电路202会将上述的数据与错误校正码写入至可复写式非易失性存储器模块106中。之后,当存储器管理电路202从可复写式非易失性存储器模块106中读取数据时也会读取对应的错误校正码,并且错误检查与校正电路256会依据此错误校正码对所读取的数据执行错误检查与校正程序。
图4是根据一范例实施例绘示下达指令给可复写式非易失性存储器模块的范例示意图。
请参照图4,存储器储存装置100中设置了多个通道,这些通道是电性连接在存储器控制电路单元104与可复写式非易失性存储器模块106之间。存储器控制电路单元104会通过这些通道来存取可复写式非易失性存储器模块106中不同的物理抹除单元,并且这些通道可以独立地运作。例如,存储器控制电路单元104通过某一个通道执行写入操作时,可以同时通过另一个通道执行读取操作。然而,不同的通道上可以同时执行相同或是不相同的操作,本发明并不在此限。在本范例实施例中,每一个通道会具有一个执行中事件队列(processing event queue),而此执行中事件队列可以用软件或是硬件的形式来实作,本发明并不在此限。例如,若以软件的形式来实作执行中事件队列,则存储器管理电路202会在缓冲存储器252中配置执行中事件队列的空间。每一个执行中事件队列是用以储存对应的通道所需执行的指令。具体来说,存储器管理电路202要通过某一个通道下达一个指令时,会把此指令加入至对应的执行中事件队列当中。接下来,存储器接口206会以管线(pipeline)的方式来取得执行中事件队列的指令并执行(execute)之。举例来说,一个读取指令被执行时,存储器接口206会先从可复写式非易失性存储器模块106读取数据(第一阶段),然后这些数据会由错误检查与校正电路256来解码(第二阶段)。因此,某一个读取指令的第一阶段与另一个读取指令的第二阶 段可以同时被执行。
当对应到某一个通道(以下称第一通道)的一个指令被执行完毕时,存储器接口206会取得对应此第一通道的一个完成事件,此完成事件可用以表示对应的指令是否成功地被执行。存储器接口206会判断此完成事件是否为失败事件。例如,失败事件可能表示读取失败、写入失败或抹除失败,本发明并不限制完成事件与失败事件的内容。若上述的完成事件为失败事件,存储器接口206会停止第一通道的运作,并且对第一通道所对应的一计数值执行第一更新运算。若此完成事件不是失败事件,存储器接口206会维持第一通道所对应的计数值不变。在一范例实施例中,第一更新运算是用以增加计数值,而此计数值是用以表示第一通道所对应的失败事件有几个尚未被处理完。存储器管理电路202会处理上述的完成事件。若所处理的完成事件不是失败事件,则表示该完成事件所对应的指令已经成功地被执行,藉此存储器管理电路202可以执行后续的操作。若所处理的完成事件是失败事件,则表示该完成事件所对应的指令并没有成功地被成行,此时存储器管理电路202会执行对应的错误处理(error handling)。然而,每当存储器管理电路202处理第一通道所对应的一个失败事件时,存储器管理电路202都会对第一通道所对应的计数值执行一第二更新运算。在一范例实施例中,第二更新运算是用以减少计数值,并且存储器管理电路202会在计数值符合一临界条件时恢复第一通道的运作。例如,在恢复第一通道的运作以后,存储器接口206便可以通过第一通道对可复写式非易失性存储器模块106下达指令。换言之,通过第一通道所对应的计数值,存储器管理电路202可以知道第一通道是否还有尚未处理的失败事件,藉此可以及时地恢复第一通道的运作,进而增加效能。
在上述的范例实施例中,第一更新运算是用以增加计数值,而第二更新运算是用以减少计数值。然而,在另一范例实施例中,第一更新运算也可以是用以减少计数值,而第二更新运算可以是增加计数值,本发明并不在此限。在以下的范例实施例中,是以队列的数据结构来管理完成事件。然而,在另一范例实施例中,也可以用任意的数据结构来管理完成事件,本发明并不在此限。
图5是根据一范例实施例绘示完成事件队列的示意图。
请参照图5,在图5的范例实施例中,每一个通道都有一个计数单元,用以更新该通道所对应的计数值。此计数单元可以用硬件或是软件的方式来 实作,本发明并不在此限。例如,计数单元可以被实作为存储器接口206中的电路;或者,存储器管理电路202可在缓冲存储器252中配置计数单元(可以是一段程序码或是一个变量)的空间。
此外,所有通道的执行中事件队列都会对应到同一个完成事件队列510,用以储存这些通道所产生的完成事件。此完成事件队列510也可以用硬件或是软件的方式来实作。例如,存储器管理电路202可在缓冲存储器252中配置完成事件队列510的空间。具体来说,在存储器接口206取得一个完成事件时,会将此完成事件加入至完成事件队列510当中。并且,若所加入的完成事件是失败事件,存储器接口206会停止对应的通道的操作,并且对应的计数单元会增加该通道的计数值(例如,加上1,即上述的第一更新运算)。例如,完成事件511~516上的号码表示该完成事件是对应至哪一个通道,并且完成事件511与516为失败事件。存储器接口206是先将完成事件511加入至完成事件队列510,接着依序加入完成事件512~516。由于完成事件511是失败事件,因此在把完成事件511加入至完成事件队列510时,存储器接口206便会停止第一通道的运作(例如,停止通过第一通道对可复写式非易失性存储器模块106下达指令),并且第一通道的计数单元会对应地增加第一通道所对应的计数值。在把完成事件512加入至完成事件队列510时,由于完成事件512不是失败事件,因此第二通道会持续运作,并且第二通道的计数单元会维持第二通道所对应的计数值不变。对于完成事件513~516可类推,在此不再赘述。因此,在完成事件511~516被加入以后,第一通道所对应的计数值为2,第二通道与第三通道所对应的计数值为0。换言之,每一个计数值表示在完成事件队列510中,对应通道的失败事件的总数。
存储器管理电路202会从完成事件队列510中取得完成事件,并且作对应的处理。具体来说,存储器管理电路202先取得完成事件511,并且判断完成事件511是否为失败事件。由于完成事件511是失败事件,因此存储器管理电路202会减少第一通道所对应的计数值(例如,减少1,即上述的第二更新运算),并且执行一错误处理。在一范例实施例中,存储器管理电路202会在第一通道处于一个稳态以后才减少第一通道所对应的计数值。此稳态表示第一通道目前并没有执行任何的指令,因此存储器接口206无法更改第一通道所对应的计数值。在减少第一通道所对应的计数值以后,存储器管理电路202还会判断第一通道所对应的计数值是否符合临界条件。例如,存储器 管理电路202会判断计数值是否等于一临界值(例如为0),若是则判断符合临界条件。在图5的范例实施例中,处理完成事件511以后第一通道所对应的计数值为1(不符合临界条件),表示完成事件队列510中还有第一通道的失败事件尚未被处理,因此存储器管理电路202会持续停止第一通道的运作。
接下来存储器管理电路202会取得完成事件512~515。由于完成事件512~515不是失败事件,因此存储器管理电路202会维持第二通道与第三通道所对应的计数值不变。接着,存储器管理电路202会取得完成事件516,并将第一通道所对应的计数值减去1。由于处理完成事件516以后第一通道所对应的计数值为0(符合临界条件),表示完成事件队列510中已经没有第一通道的失败事件,因此存储器管理电路202会恢复第一通道的运作。
图6A与图6B是根据一范例实施例绘示错误处理方法的流程图。
请参照图6A,在步骤S601中,取得对应第一通道的完成事件。在步骤S602中,判断完成事件是否为失败事件。若上述的完成事件不是失败事件,在步骤S603中,维持第一通道所对应的计数值不变。若上述的完成事件是失败事件,在步骤S604中,停止第一通道的运作,并且对第一通道所对应的计数值执行第一更新运算。
请参照图6B,在步骤S605中,从完成事件队列中取得完成事件。在步骤S606中,判断完成事件是否为失败事件。若所取得的完成事件不是失败事件,在步骤S607中,维持对应的计数值不变。若所取得的完成事件是失败事件,在步骤S608中,对所对应的计数值执行第二更新运算。在步骤S609中,判断计数值是否符合临界条件。若计数值符合临界条件,在步骤S610中,恢复通道的运作。
然而,图6A与图6B中各步骤已详细说明如上,在此便不再赘述。值得注意的是,图6A与图6B中各步骤可以实作为多个程序码或是电路,本发明并不在此限。此外,图6A与图6B的方法可以同时实施,可以搭配以上实施例使用,也可以单独使用,本发明并不在此限。
综上所述,本发明范例实施例所提出的错误处理方法、存储器储存装置与存储器控制电路单元,可以通过计数值来计算尚未处理的失败事件有几个,藉此可以及时的恢复通道的运作,进而增进可复写式非易失性存储器模块的存取效能。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属 技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视所附的权利要求范围所界定者为准。
Claims (21)
1.一种错误处理方法,用于一存储器控制电路单元,其中多个通道电性连接在该存储器控制电路单元与一可复写式非易失性存储器模块之间,其特征在于,该错误处理方法包括:
取得对应该多个通道中的一第一通道的一完成事件;
判断该完成事件是否为一失败事件;
若该完成事件为该失败事件,停止该第一通道的一运作,并且对该第一通道所对应的一计数值执行一第一更新运算;
若该完成事件不是该失败事件,维持该第一通道所对应的该计数值不变;以及
处理该完成事件,其中处理该完成事件的步骤包括:
若该完成事件为该失败事件,对该第一通道所对应的该计数值执行一第二更新运算;并且
若该计数值符合一临界条件时,恢复该第一通道的该运作。
2.根据权利要求1所述的错误处理方法,其中取得该完成事件的步骤还包括:
将该完成事件加入一完成事件队列当中,其中该第一更新运算是用以增加该第一通道所对应的该计数值,该第二更新运算是用以减少该第一通道所对应的该计数值,并且该计数值是用以表示该完成事件队列当中,对应该第一通道的该失败事件的一总数。
3.根据权利要求2所述的错误处理方法,还包括:
若该第一通道所对应的该计数值等于一临界值,判断该计数值符合该临界条件。
4.根据权利要求2所述的错误处理方法,其中处理该完成事件的步骤还包括:
从该完成事件队列中取得该完成事件;以及
若该完成事件不是该失败事件,维持该第一通道所对应的该计数值不变。
5.根据权利要求1所述的错误处理方法,其中该第二更新运算是在该第一通道处于一稳态以后所执行。
6.根据权利要求1所述的错误处理方法,还包括:
对每一该多个通道配置相对应的一执行中事件队列,其中每一该些执行中事件队列用以储存对应的通道所需执行的一指令,并且该指令是以管线的方式被执行;
对每一该多个通道配置相对应的一计数单元,其中该第一通道所对应的该计数单元用以更新该第一通道所对应的该计数值;以及
对该多个通道分配一完成事件队列,用以储存该多个通道的完成事件。
7.根据权利要求1所述的错误处理方法,其中停止该第一通道的该运作的步骤包括:
停止通过该第一通道对该可复写式非易失性存储器模块下达指令。
8.一种存储器储存装置,其特征在于,包括:
一连接接口单元,用以电性连接至一主机系统;
一可复写式非易失性存储器模块,包括多个物理抹除单元;以及
一存储器控制电路单元,电性连接至该连接接口单元与该可复写式非易失性存储器模块,其中多个通道电性连接在该存储器控制电路单元与该可复写式非易失性存储器模块之间,
其中,该存储器控制电路单元用以取得对应该多个通道中的一第一通道的一完成事件,并且判断该完成事件是否为一失败事件,
其中,若该完成事件为该失败事件,该存储器控制电路单元用以停止该第一通道的一运作,并且对该第一通道所对应的一计数值执行一第一更新运算,
其中,若该完成事件不是该失败事件,该存储器控制电路单元用以维持该第一通道所对应的该计数值不变,
其中,该存储器控制电路单元用以处理该完成事件,包括:
若该完成事件为该失败事件,该存储器控制电路单元用以对该第一通道所对应的该计数值执行一第二更新运算;并且
若该计数值符合一临界条件,该存储器控制电路单元用以恢复该第一通道的该运作。
9.根据权利要求8所述的存储器储存装置,其中该存储器控制电路单元取得该完成事件的操作还包括:
该存储器控制电路单元将该完成事件加入一完成事件队列当中,其中该第一更新运算是用以增加该第一通道所对应的该计数值,该第二更新运算是用以减少该第一通道所对应的该计数值,并且该计数值是用以表示该完成事件队列当中,对应该第一通道的该失败事件的一总数。
10.根据权利要求9所述的存储器储存装置,其中若该第一通道所对应的该计数值等于一临界值,该存储器控制电路单元用以判断该计数值符合该临界条件。
11.根据权利要求9所述的存储器储存装置,其中该存储器控制电路单元处理该完成事件的操作还包括:
该存储器控制电路单元从该完成事件队列中取得该完成事件;以及
若该完成事件不是该失败事件,该存储器控制电路单元维持该第一通道所对应的该计数值不变。
12.根据权利要求8所述的存储器储存装置,其中该第二更新运算是在该第一通道处于一稳态以后所执行。
13.根据权利要求8所述的存储器储存装置,其中每一该多个通道具有相对应的一执行中事件队列与一计数单元,每一该些执行中事件队列用以储存对应的通道所需执行的一指令,并且该指令是以一管线的方式被执行,
其中,该第一通道所对应的该计数单元用以更新该第一通道所对应的该计数值,
其中该存储器控制电路单元还用以对该多个通道配置一完成事件队列以储存该多个通道的完成事件。
14.根据权利要求8所述的存储器储存装置,其中该存储器控制电路单元停止该第一通道的该运作的操作包括:
该存储器控制电路单元停止通过该第一通道对该可复写式非易失性存储器模块下达指令。
15.一种存储器控制电路单元,用于一可复写式非易失性存储器模块,其特征在于,该存储器控制电路单元包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可复写式非易失性存储器模块,其中多个通道电性连接在该存储器控制电路单元与该可复写式非易失性存储器模块之间;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,
其中,该存储器接口用以取得对应该些通道中的一第一通道的一完成事件,并且判断该完成事件是否为一失败事件,
其中,若该完成事件为该失败事件,该存储器接口用以停止该第一通道的一运作,并且该存储器管理电路对该第一通道所对应的一计数值执行一第一更新运算,
其中,若该完成事件不是该失败事件,该存储器管理电路用以维持该第一通道所对应的该计数值不变,
其中,该存储器管理电路用以处理该完成事件,包括:
若该完成事件为该失败事件,该存储器管理电路用以对该第一通道所对应的该计数值执行一第二更新运算;并且
若该计数值符合一临界条件,该存储器管理电路用以恢复该第一通道的该运作。
16.根据权利要求15所述的存储器控制电路单元,其中该存储器接口取得该完成事件的步骤还包括:
该存储器接口将该完成事件加入一完成事件队列当中,其中该第一更新运算是用以增加该第一通道所对应的该计数值,该第二更新运算是用以减少该第一通道所对应的该计数值,并且该计数值是用以表示该完成事件队列当中,对应该第一通道的该失败事件的一总数。
17.根据权利要求16所述的存储器控制电路单元,其中若该第一通道所对应的该计数值等于一临界值,该存储器管理电路用以判断该计数值符合该临界条件。
18.根据权利要求16所述的存储器控制电路单元,其中该存储器管理电路处理该完成事件的操作还包括:
该存储器管理电路从该完成事件队列中取得该完成事件;以及
若该完成事件不是该失败事件,该存储器管理电路维持该第一通道所对应的该计数值不变。
19.根据权利要求15所述的存储器控制电路单元,其中该第二更新运算是在该第一通道处于一稳态以后所执行。
20.根据权利要求15所述的存储器控制电路单元,其中每一该多个通道具有相对应的一执行中事件队列与一计数单元,每一该些执行中事件队列用以储存对应的通道所需执行的一指令,并且该指令是以一管线的方式被执行,
其中,该第一通道所对应的该计数单元用以更新该第一通道所对应的该计数值,
其中该存储器管理电路还用以对该多个通道配置一完成事件队列以储存该多个通道的完成事件。
21.根据权利要求15所述的存储器控制电路单元,其中该存储器接口停止该第一通道的该运作的操作包括:
该存储器接口停止通过该第一通道对该可复写式非易失性存储器模块下达指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033480.1A CN104810059B (zh) | 2014-01-23 | 2014-01-23 | 错误处理方法、存储器储存装置与存储器控制电路单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410033480.1A CN104810059B (zh) | 2014-01-23 | 2014-01-23 | 错误处理方法、存储器储存装置与存储器控制电路单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104810059A true CN104810059A (zh) | 2015-07-29 |
CN104810059B CN104810059B (zh) | 2018-04-13 |
Family
ID=53694833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410033480.1A Active CN104810059B (zh) | 2014-01-23 | 2014-01-23 | 错误处理方法、存储器储存装置与存储器控制电路单元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104810059B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229844A1 (en) * | 2002-03-25 | 2003-12-11 | Akash Bansal | Graceful degradation of serial channels |
CN101527171A (zh) * | 2009-04-17 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种多通道并行纠错的闪存控制方法和装置 |
CN101794623A (zh) * | 2009-06-01 | 2010-08-04 | 深圳市朗科科技股份有限公司 | 存储设备的纠错装置及方法 |
TW201133498A (en) * | 2010-03-22 | 2011-10-01 | Phison Electronics Corp | Error correcting method, and memory controller and memory storage system using the same |
US20130080822A1 (en) * | 2011-09-28 | 2013-03-28 | International Business Machines Corporation | Proactively removing channel paths in error from a variable scope of i/o devices |
CN103365739A (zh) * | 2013-08-02 | 2013-10-23 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存存储设备及其数据恢复方法 |
-
2014
- 2014-01-23 CN CN201410033480.1A patent/CN104810059B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030229844A1 (en) * | 2002-03-25 | 2003-12-11 | Akash Bansal | Graceful degradation of serial channels |
CN101527171A (zh) * | 2009-04-17 | 2009-09-09 | 成都市华为赛门铁克科技有限公司 | 一种多通道并行纠错的闪存控制方法和装置 |
CN101794623A (zh) * | 2009-06-01 | 2010-08-04 | 深圳市朗科科技股份有限公司 | 存储设备的纠错装置及方法 |
TW201133498A (en) * | 2010-03-22 | 2011-10-01 | Phison Electronics Corp | Error correcting method, and memory controller and memory storage system using the same |
US20130080822A1 (en) * | 2011-09-28 | 2013-03-28 | International Business Machines Corporation | Proactively removing channel paths in error from a variable scope of i/o devices |
CN103365739A (zh) * | 2013-08-02 | 2013-10-23 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存存储设备及其数据恢复方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104810059B (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170052734A1 (en) | Method and device for fail-safe erase of flash memory | |
CN104423888A (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
CN105005450A (zh) | 数据写入方法、存储器存储装置及存储器控制电路单元 | |
CN104765569A (zh) | 数据写入方法、存储器控制电路单元与存储器储存装置 | |
CN102890655B (zh) | 存储器储存装置、其存储器控制器与有效数据识别方法 | |
US9383929B2 (en) | Data storing method and memory controller and memory storage device using the same | |
CN105653199A (zh) | 数据读取方法、存储器存储装置及存储器控制电路单元 | |
CN103514096A (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US9032135B2 (en) | Data protecting method, memory controller and memory storage device using the same | |
CN104636267A (zh) | 存储器控制方法、存储器存储装置与存储器控制电路单元 | |
CN104733051A (zh) | 奇偶校验码的解码方法、存储器储存装置及控制电路单元 | |
CN103514103A (zh) | 数据保护方法、存储器控制器与存储器储存装置 | |
CN103136111A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN104182293A (zh) | 数据写入方法、存储器存储装置与存储器控制器 | |
CN103678162A (zh) | 系统数据储存方法、存储器控制器与存储器储存装置 | |
CN105224238A (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN103513930A (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN104252317A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN103577344A (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103914391A (zh) | 数据读取方法、存储器控制器与存储器存储装置 | |
CN104731710A (zh) | 存储器管理方法、存储器控制电路单元与存储器储存装置 | |
CN104657083A (zh) | 数据写入方法、存储器储存装置、存储器控制电路单元 | |
CN104238956A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN104252600A (zh) | 数据保护方法、存储器控制器与存储器储存装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |