CN112634972B - 电压识别方法、存储器控制电路单元以及存储器储存装置 - Google Patents
电压识别方法、存储器控制电路单元以及存储器储存装置 Download PDFInfo
- Publication number
- CN112634972B CN112634972B CN201910905963.9A CN201910905963A CN112634972B CN 112634972 B CN112634972 B CN 112634972B CN 201910905963 A CN201910905963 A CN 201910905963A CN 112634972 B CN112634972 B CN 112634972B
- Authority
- CN
- China
- Prior art keywords
- read voltage
- memory
- read
- groups
- bit sequence
- 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
- 230000005055 memory storage Effects 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012795 verification Methods 0.000 claims abstract description 85
- 210000004027 cell Anatomy 0.000 description 111
- 238000010586 diagram Methods 0.000 description 31
- 238000009826 distribution Methods 0.000 description 19
- 238000012937 correction Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 12
- 208000011580 syndromic disease Diseases 0.000 description 12
- VRSMQRZDMZDXAU-UHFFFAOYSA-N bis(sulfanylidene)niobium Chemical compound S=[Nb]=S VRSMQRZDMZDXAU-UHFFFAOYSA-N 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 210000000352 storage cell Anatomy 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/24—Bit-line control circuits
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Read Only Memory (AREA)
Abstract
本发明提供一种电压识别方法、存储器控制电路单元以及存储器储存装置。所述方法包括:根据多个读取电压组中的第一读取电压组读取第一存储单元并执行第一译码操作以产生第一校验信息;根据多个区间中第一校验信息所位于的第一区间,识别前述的多个读取电压组中对应于第一区间的多个第二读取电压组;使用第二读取电压组中的第三读取电压组读取第一存储单元并执行第一译码操作。
Description
技术领域
本发明是有关于一种电压识别方法、存储器控制电路单元以及存储器储存装置。
背景技术
数字相机、移动电话与MP3播放器在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可复写式非易失性存储器模块(例如,闪存)具有数据非易失性、省电、体积小,以及无机械结构等特性,所以非常适合内建于上述所举例的各种可携式多媒体装置中。
一般来说,在从可复写式非易失性存储器模块中读取数据时,存储器管理电路可以先执行硬位模式译码操作来进行译码以取得所欲读取的数据。在执行硬位模式译码操作时,可以先使用读取电压来读取存储单元并进行译码。若译码失败,存储器管理电路会重新取得另一读取电压,并用此另一读取电压来读取前述的存储单元,以重新进行译码。若又再次发生译码失败且重新取得读取电压的次数没有超过默认次数,则存储器管理电路会再重新取得其他取得电压,并且根据重新取得的读取电压读取前述的存储单元以重新进行译码。当执行重新取得读取电压的步骤的执行次数超过默认次数时,存储器管理电路可以改为执行其他的译码操作(例如,软位模式译码操作)。
特别是,前述的预设次数通常是“所有可用以重新取得的读取电压的数量”,而此数量通常较大并且会造成在改为执行其他的译码操作(例如,软位模式译码操作)前需耗费大量的时间在执行重新取得读取电压以执行读取与译码的操作中。因此,如何快速地判断哪些读取电压会发生译码失败并避免使用此些读取电压进行读取以减少硬位模式译码操作的运行时间,是本领域技术人员所欲解决的问题之一。
发明内容
本发明提供一种电压识别方法、存储器控制电路单元以及存储器储存装置,可以快速地判断哪些读取电压会发生译码失败并避免使用此些读取电压进行读取以减少硬位模式译码操作的运行时间。
本发明提出一种电压识别方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元,所述方法包括:根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息;根据多个区间(interval)中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组;以及使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。
在本发明的一实施例中,识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的步骤包括:根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。
在本发明的一实施例中,根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的步骤之前,所述方法还包括:对所述多个读取电压组中的每一个读取电压组储存校验信息查找表,其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。
在本发明的一实施例中,所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。
在本发明的一实施例中,所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。
在本发明的一实施例中,识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的步骤包括:从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。
在本发明的一实施例中,使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的步骤包括:使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息;根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列;对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列;根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元;以及使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。
本发明提出一种存储器控制电路单元,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储单元,所述存储器控制电路单元包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统。存储器接口用以电性连接至所述可复写式非易失性存储器模块。存储器管理电路电性连接至所述主机接口以及所述存储器接口。存储器管理电路用以执行下述运作:根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息;根据多个区间(interval)中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组;以及使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。
在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器管理电路还用以根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。
在本发明的一实施例中,在根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的运作之前,所述存储器管理电路还用以对所述多个读取电压组中的每一个读取电压组储存校验信息查找表。其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。
在本发明的一实施例中,所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。
在本发明的一实施例中,所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。
在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器管理电路还用以从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。
在本发明的一实施例中,在使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的运作中,所述存储器管理电路还用以执行下述运作:使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息;根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列;对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列;根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元;以及使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。
本发明提出一种存储器储存装置,所述存储器储存装置包括连接接口单元、可复写式非易失性存储器模块以及存储器控制电路单元。连接接口单元用以电性连接至主机系统。可复写式非易失性存储器模块具有多个存储单元。存储器控制电路单元用以电性连接至所述连接接口单元与所述可复写式非易失性存储器模块。存储器控制电路单元用以执行下述运作:根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息;根据多个区间(interval)中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组;以及使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。
在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器控制电路单元还用以根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。
在本发明的一实施例中,在根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的运作之前,所述存储器控制电路单元还用以对所述多个读取电压组中的每一个读取电压组储存校验信息查找表。其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。
在本发明的一实施例中,所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。
在本发明的一实施例中,所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。
在本发明的一实施例中,在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,所述存储器控制电路单元还用以从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。
在本发明的一实施例中,在使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的运作中,所述存储器控制电路单元还用以执行下述运作:使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息;根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列;对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列;根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元;以及使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。
基于上述,本发明的电压识别方法、存储器控制电路单元与存储器储存装置可以快速地判断哪些读取电压组可能会发生译码失败,并且避免使用此些读取电压组执行存储单元的读取以减少硬位模式译码操作的运行时间。
附图说明
图1是根据本发明的一范例实施例所示出的主机系统、存储器储存装置及输入/输出(I/O)装置的示意图。
图2是根据本发明的另一范例实施例所示出的主机系统、存储器储存装置及I/O装置的示意图。
图3是根据本发明的另一范例实施例所示出的主机系统与存储器储存装置的示意图。
图4是根据本发明的一范例实施例所示出的存储器储存装置的概要方块图。
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。
图6是根据一范例实施例所示出的存储单元数组的示意图。
图7是根据一范例实施例所示出储存于存储单元数组中的写入数据所对应的栅极电压的统计分配图。
图8是根据一范例实施例所示出之程序化存储单元的示意图。
图9是根据一范例实施例所示出的从存储单元中读取数据的示意图。
图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图。
图11是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
图12是根据一范例实施例所示出的存储器控制电路单元的概要方块图。
图13是根据一范例实施例示出硬位模式译码的示意图。
图14是根据一范例实施例示出校验信息查找表的示意图。
图15是根据一范例实施例示出对位序列执行逻辑运算的示意图。
图16是根据一范例实施例示出电压识别方法的流程图。
附图标记说明:
10、30:存储器储存装置;
11、31:主机系统;
110:系统总线;
111:处理器;
112:随机存取存储器;
113:只读存储器;
114:数据传输接口;
12:输入/输出(I/O)装置;
20:主板;
201:U盘;
202:存储卡;
203:固态硬盘;
204:无线存储器储存装置;
205:全球定位系统模块;
206:网络适配器;
207:无线传输装置;
208:键盘;
209:屏幕;
210:喇叭;
32:SD卡;
33:CF卡;
34:嵌入式储存装置;
341:嵌入式多媒体卡;
342:嵌入式多芯片封装储存装置;
402:连接接口单元;
404:存储器控制电路单元;
406:可复写式非易失性存储器模块;
2202:存储单元数组;
2204:字线控制电路;
2206:位线控制电路;
2208:行译码器;
2210:数据输入/输出缓冲器;
2212:控制电路;
502:存储单元;
504:位线;
506:字线;
508:共享源极线;
512:选择闸漏极晶体管;
514:选择闸源极晶体管;
VA、VB、VC、VD、VE、VF、VG:读取电压;
400(0)~400(N):实体抹除单元;
702:存储器管理电路;
704:主机接口;
706:存储器接口;
708:错误检查与校正电路;
710:缓冲存储器;
712:电源管理电路;
1410、1420:分布;
1430:区域;
1440~1444:读取电压;
SI_0~SI_2:区间;
T0~T15:读取电压组;
1400:校验信息查找表;
IBS、BS1~BS2、NBS1~NBS2、NBSn:位序列;
步骤S1601:根据多个读取电压组中的第一读取电压组读取第一存储单元并执行第一译码操作以产生第一校验信息的步骤;
步骤S1603:根据多个区间中第一校验信息所位于的第一区间,识别前述的多个读取电压组中对应于第一区间的多个第二读取电压组的步骤;
步骤S1605:使用第二读取电压组中的第三读取电压组读取第一存储单元并执行第一译码操作的步骤。
具体实施方式
一般而言,存储器储存装置(也称,存储器储存系统)包括可复写式非易失性存储器模块(rewritable non-volatile memory module)与控制器(也称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1是根据本发明的一范例实施例所示出的主机系统、存储器储存装置及输入/输出(I/O)装置的示意图。图2是根据本发明的另一范例实施例所示出的主机系统、存储器储存装置及I/O装置的示意图。
请参照图1与图2,主机系统11一般包括处理器111、随机存取存储器(randomaccess memory,RAM)112、只读存储器(read only memory,ROM)113及数据传输接口114。处理器111、随机存取存储器112、只读存储器113及数据传输接口114皆电性连接至系统总线(system bus)110。
在本范例实施例中,主机系统11是通过数据传输接口114与存储器储存装置10电性连接。例如,主机系统11可经由数据传输接口114将数据储存至存储器储存装置10或从存储器储存装置10中读取数据。此外,主机系统11是通过系统总线110与I/O装置12电性连接。例如,主机系统11可经由系统总线110将输出信号传送至I/O装置12或从I/O装置12接收输入信号。
在本范例实施例中,处理器111、随机存取存储器112、只读存储器113及数据传输接口114可设置在主机系统11的主板20上。数据传输接口114的数目可以是一或多个。通过数据传输接口114,主板20可以经由有线或无线方式电性连接至存储器储存装置10。存储器储存装置10可例如是U盘201、存储卡202、固态硬盘(Solid State Drive,SSD)203或无线存储器储存装置204。无线存储器储存装置204可例如是近距离无线通信(Near FieldCommunication,NFC)存储器储存装置、无线传真(WiFi)存储器储存装置、蓝牙(Bluetooth)存储器储存装置或低功耗蓝牙存储器储存装置(例如,iBeacon)等以各式无线通信技术为基础的存储器储存装置。此外,主板20也可以通过系统总线110电性连接至全球定位系统(Global Positioning System,GPS)模块205、网络适配器206、无线传输装置207、键盘208、屏幕209、喇叭210等各式I/O装置。例如,在一范例实施例中,主板20可通过无线传输装置207存取无线存储器储存装置204。
在一范例实施例中,所提及的主机系统为可实质地与存储器储存装置配合以储存数据的任意系统。虽然在上述范例实施例中,主机系统是以计算机系统来作说明,然而,图3是根据本发明的另一范例实施例所示出的主机系统与存储器储存装置的示意图。请参照图3,在另一范例实施例中,主机系统31也可以是数字相机、摄像机、通信装置、音频播放器、视频播放器或平板电脑等系统,而存储器储存装置30可为其所使用的SD卡32、CF卡33或嵌入式储存装置34等各式非易失性存储器储存装置。嵌入式储存装置34包括嵌入式多媒体卡(embedded MMC,eMMC)341和/或嵌入式多芯片封装储存装置(embedded Multi ChipPackage,eMCP)342等各类型将存储器模块直接电性连接于主机系统的基板上的嵌入式储存装置。
图4是根据本发明的一范例实施例所示出的存储器储存装置的概要方块图。
请参照图4,存储器储存装置10包括连接接口单元402、存储器控制电路单元404与可复写式非易失性存储器模块406。
在本范例实施例中,连接接口单元402是兼容于序列先进附件(Serial AdvancedTechnology Attachment,SATA)标准。然而,必须了解的是,本发明不限于此,连接接口单元402也可以是符合并列先进附件(Parallel Advanced Technology Attachment,PATA)标准、电气和电子工程师协会(Institute of Electrical and Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCI Express)标准、通用串行总线(Universal Serial Bus,USB)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多芯片封装(Multi-Chip Package)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded Multimedia Card,eMMC)接口标准、通用闪存(UniversalFlash Storage,UFS)接口标准、嵌入式多芯片封装(embedded Multi Chip Package,eMCP)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(IntegratedDevice Electronics,IDE)标准或其他适合的标准。连接接口单元402可与存储器控制电路单元404封装在一个芯片中,或者连接接口单元402是布设于包含存储器控制电路单元404的芯片外。
存储器控制电路单元404用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令并且根据主机系统11的指令在可复写式非易失性存储器模块406中进行数据的写入、读取与抹除等运作。
可复写式非易失性存储器模块406是电性连接至存储器控制电路单元404并且用以储存主机系统11所写入的数据。可复写式非易失性存储器模块406可以是单阶存储单元(Single Level Cell,SLC)NAND型闪存模块(即,一个存储单元中可储存1个位的闪存模块)、二阶存储单元(Multi Level Cell,MLC)NAND型闪存模块(即,一个存储单元中可储存2个位的闪存模块)、多阶存储单元(Triple Level Cell,TLC)NAND型闪存模块(即,一个存储单元中可储存3个位的闪存模块)、其他闪存模块或其他具有相同特性的存储器模块。
可复写式非易失性存储器模块406中的存储单元是以数组的方式设置。以下以二维数组来对存储单元数组进行说明。但是,在此须注意的是,以下范例实施例只是存储单元数组的一种范例,在其他的范例实施例中,存储单元数组的配置方式可以被调整以符合实务上的需求。
图5是根据一范例实施例所示出的可复写式非易失性存储器模块的概要方块图。图6是根据一范例实施例所示出的存储单元数组的示意图。
请同时参照图5与图6,可复写式非易失性存储器模块406包括存储单元数组2202、字线控制电路2204、位线控制电路2206、行译码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
在本范例实施例中,存储单元数组2202可包括用以储存数据的多个存储单元502、多个选择闸漏极(select gate drain,SGD)晶体管512与多个选择闸源极(select gatesource,SGS)晶体管514、以及连接此些存储单元的多条位线504、多条字线506、与共享源极线508(如图6所示)。存储单元502是以数组方式(或立体堆栈的方式)配置在位线504与字线506的交叉点上。当从存储器控制电路单元404接收到写入指令或读取指令时,控制电路2212会控制字线控制电路2204、位线控制电路2206、行译码器2208、数据输入/输出缓冲器2210来写入数据至存储单元数组2202或从存储单元数组2202中读取数据,其中字线控制电路2204用以控制施予至字线506的电压,位线控制电路2206用以控制施予至位线504的电压,行译码器2208依据指令中的列地址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。
可复写式非易失性存储器模块406中的存储单元是以临界电压的改变来储存多位(bits)。具体来说,每一个存储单元的控制栅极(control gate)与通道之间有一个电荷捕捉层。通过施予写入电压至控制栅极,可以改变电荷捕捉层的电子量,因而改变了存储单元的临界电压。此改变临界电压的程序也称为“把数据写入至存储单元”或“程序化存储单元”。随着临界电压的改变,存储单元数组2202的每一存储单元具有多个储存状态。并且通过读取电压可以判断存储单元是属于哪一个储存状态,藉此取得存储单元所储存的位。
图7是根据一范例实施例所示出储存于存储单元数组中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLC NAND型闪存为例,随着不同的临界电压,每一存储单元具有4种储存状态,并且此些储存状态分别地代表"11"、"10"、"00"与"01"等位。换言之,每一个储存状态包括最低有效位(Least Significant Bit,LSB)以及最高有效位(Most SignificantBit,MSB)。在本范例实施例中,储存状态(即,"11"、"10"、"00"与"01")中从左侧算起之第1个位为LSB,而从左侧算起的第2个位为MSB。因此,在此范例实施例中,每一存储单元可储存2个位。必须了解的是,图8所示出的临界电压及其储存状态的对应仅为一个范例。在本发明另一范例实施例中,临界电压与储存状态的对应也可是随着临界电压越大而以"11"、"10"、"01"与"00"排列,或是其他排列。此外,在另一范例时实例中,也可定义从左侧算起的第1个位为MSB,而从左侧算起的第2个位为LSB。
图8是根据一范例实施例所示出的程序化存储单元的示意图。
请参照图8,在本范例实施例中,存储单元的程序化是通过脉冲写入/验证临界电压方法来完成。具体来说,欲将数据写入至存储单元时,存储器控制电路单元404会设定初始写入电压以及写入脉冲时间,并且指示可复写式非易失性存储器模块406的控制电路2212使用所设定的初始写入电压以及写入脉冲时间来程序化存储单元,以进行数据的写入。之后,存储器控制电路单元404会施加验证电压至控制栅极来判断存储单元是否导通,进而判断存储单元是否已处于正确的储存状态(具有正确的临界电压)。倘若存储单元未被程序化至正确的储存状态时,存储器控制电路单元404指示控制电路2212以目前施予的写入电压加上增量阶跃脉冲程序(Incremental-step-pulse programming,ISPP)调整值作为新的写入电压并且依据新的写入电压与写入脉冲时间再次来程序化存储单元。反之,倘若存储单元已被程序化至正确的储存状态时,则表示数据已被正确地写入至存储单元。例如,初始写入电压会被设定为16伏特(Voltage,V),写入脉冲时间会被设定为18微秒(microseconds,μs)并且增量阶跃脉冲程序调整值被设定为0.6V,但本发明不限于此。
图9是根据一范例实施例所示出的从存储单元中读取数据的示意图,其是以MLCNAND型闪存为例。
请参照图9,存储单元数组2202之存储单元的读取运作是通过施予读取电压于控制栅极,通过存储单元的导通状态,来识别存储单元储存的数据。验证位(VA)是用以指示施予读取电压VA时存储单元是否为导通;验证位(VC)是用以指示施予读取电压VC时存储单元是否为导通;验证位(VB)是用以指示施予读取电压VB时存储单元是否为导通。在此假设验证位是”1”时表示对应的存储单元导通,而验证位是”0”时表示对应的存储单元没有导通。如图9所示,通过验证位(VA)~(VC)可以判断存储单元是处于哪一个储存状态,进而取得所储存的位。
图10是根据另一范例实施例所示出的从存储单元中读取数据的示意图。
请参照图10,以TLC NAND型闪存为例,每一个储存状态包括左侧算起的第1个位的最低有效位LSB、从左侧算起的第2个位的中间有效位(Center Significant Bit,CSB)以及从左侧算起的第3个位的最高有效位MSB。在此范例中,依照不同的临界电压,存储单元具有8种储存状态(即,"111"、"110"、"100"、"101"、"001"、"000"、"010"与"011")。通过施加读取电压VA~VG于控制栅极,可以识别存储单元所储存的位。
图11是根据本发明范例实施例所示出的管理可复写式非易失性存储器模块的示意图。
请参照图11,可复写式非易失性存储器模块406的存储单元502会构成多个实体程序化单元,并且此些实体程序化单元会构成多个实体抹除单元400(0)~400(N)。具体来说,同一条字符在线的存储单元会组成一或多个实体程序化单元。若每一个存储单元可储存2个以上的位,则同一条字符在线的实体程序化单元可被分类为下实体程序化单元与上实体程序化单元。例如,每一存储单元的LSB是属于下实体程序化单元,并且每一存储单元的MSB是属于上实体程序化单元。在此范例实施例中,实体程序化单元为程序化的最小单元。即,实体程序化单元为写入数据的最小单元。例如,实体程序化单元为实体页面或是实体扇(sector)。若实体程序化单元为实体页面,则每一个实体程序化单元通常包括数据位区与冗余位区。数据位区包含多个实体扇,用以储存用户的数据,而冗余位区用以储存系统的数据(例如,错误更正码)。在本范例实施例中,每一个数据位区包含32个实体扇,且一个实体扇的大小为512字节(byte,B)。然而,在其他范例实施例中,数据位区中也可包含8个、16个或数目更多或更少的实体扇,本发明并不限制实体扇的大小以及个数。另一方面,实体抹除单元为抹除的最小单位。也即,每一实体抹除单元含有最小数目之一并被抹除的存储单元。例如,实体抹除单元为实体区块。
图12是根据一范例实施例所示出的存储器控制电路单元的概要方块图。必须了解的是,图12所示的存储器控制电路单元的结构仅为一范例,本发明不以此为限。
请参照图12,存储器控制电路单元404包括存储器管理电路702、主机接口704、存储器接口706及错误检查与校正电路708。
存储器管理电路702用以控制存储器控制电路单元404的整体运作。具体来说,存储器管理电路702具有多个控制指令,并且在存储器储存装置10运作时,此些控制指令会被执行以进行数据的写入、读取与抹除等运作。以下说明存储器管理电路702或任何包含于存储器控制电路单元404中的电路组件的操作时,等同于说明存储器控制电路单元404的操作。
在本范例实施例中,存储器管理电路702的控制指令是以固件型式来实作。例如,存储器管理电路702具有微处理器单元(未示出)与只读存储器(未示出),并且此些控制指令是被刻录至此只读存储器中。当存储器储存装置10运作时,此些控制指令会由微处理器单元来执行以进行数据的写入、读取与抹除等运作。
在另一范例实施例中,存储器管理电路702的控制指令也可以程序代码型式储存于可复写式非易失性存储器模块406的特定区域(例如,存储器模块中专用于存放系统数据的系统区)中。此外,存储器管理电路702具有微处理器单元(未示出)、只读存储器(未示出)及随机存取存储器(未示出)。特别是,此只读存储器具有开机码(boot code),并且当存储器控制电路单元404被致能时,微处理器单元会先执行此开机码来将储存于可复写式非易失性存储器模块406中的控制指令加载至存储器管理电路702的随机存取存储器中。之后,微处理器单元会运转此些控制指令以进行数据的写入、读取与抹除等运作。
此外,在另一范例实施例中,存储器管理电路702的控制指令也可以硬件型式来实作。例如,存储器管理电路702包括微控制器、存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路。存储单元管理电路、存储器写入电路、存储器读取电路、存储器抹除电路与数据处理电路是电性连接至微控制器。存储单元管理电路用以管理可复写式非易失性存储器模块406的存储单元或其群组。存储器写入电路用以对可复写式非易失性存储器模块406下达写入指令序列以将数据写入至可复写式非易失性存储器模块406中。存储器读取电路用以对可复写式非易失性存储器模块406下达读取指令序列以从可复写式非易失性存储器模块406中读取数据。存储器抹除电路用以对可复写式非易失性存储器模块406下达抹除指令序列以将数据从可复写式非易失性存储器模块406中抹除。数据处理电路用以处理欲写入至可复写式非易失性存储器模块406的数据以及从可复写式非易失性存储器模块406中读取的数据。写入指令序列、读取指令序列及抹除指令序列可各别包括一或多个程序代码或脚本并且用以指示可复写式非易失性存储器模块406执行相对应的写入、读取及抹除等操作。在一范例实施例中,存储器管理电路702还可以下达其他类型的指令序列给可复写式非易失性存储器模块406以指示执行相对应的操作。
主机接口704是电性连接至存储器管理电路702并且用以接收与识别主机系统11所传送的指令与数据。也就是说,主机系统11所传送的指令与数据会通过主机接口704来传送至存储器管理电路702。在本范例实施例中,主机接口704是兼容于SATA标准。然而,必须了解的是本发明不限于此,主机接口704也可以是兼容于PATA标准、IEEE 1394标准、PCIExpress标准、USB标准、SD标准、UHS-I标准、UHS-II标准、MS标准、MMC标准、eMMC标准、UFS标准、CF标准、IDE标准或其他适合的数据传输标准。
存储器接口706是电性连接至存储器管理电路702并且用以存取可复写式非易失性存储器模块406。也就是说,欲写入至可复写式非易失性存储器模块406的数据会经由存储器接口706转换为可复写式非易失性存储器模块406所能接受的格式。具体来说,若存储器管理电路702要存取可复写式非易失性存储器模块406,存储器接口706会传送对应的指令序列。例如,这些指令序列可包括指示写入数据的写入指令序列、指示读取数据的读取指令序列、指示抹除数据的抹除指令序列、以及用以指示各种存储器操作(例如,改变读取电压电平或执行垃圾回收程序等等)的相对应的指令序列。这些指令序列例如是由存储器管理电路702产生并且通过存储器接口706传送至可复写式非易失性存储器模块406。这些指令序列可包括一或多个信号,或是在总线上的数据。这些信号或数据可包括脚本或程序代码。例如,在读取指令序列中,会包括读取的识别码、存储器地址等信息。
错误检查与校正电路708是电性连接至存储器管理电路702并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路702从主机系统11中接收到写入指令时,错误检查与校正电路708会为对应此写入指令的数据产生对应的错误更正码(error correcting code,ECC code)或错误检查码(error detecting code,EDC),并且存储器管理电路702会将对应此写入指令的数据与对应的错误更正码或错误检查码写入至可复写式非易失性存储器模块406中。之后,当存储器管理电路702从可复写式非易失性存储器模块406中读取数据时会同时读取此数据对应的错误更正码或错误检查码,并且错误检查与校正电路708会依据此错误更正码或错误检查码对所读取的数据执行错误检查与校正程序。
在本发明一范例实施例中,存储器控制电路单元404还包括缓冲存储器710与电源管理电路712。缓冲存储器710是电性连接至存储器管理电路702并且用以暂存来自于主机系统11的数据与指令或来自于可复写式非易失性存储器模块406的数据。电源管理电路712是电性连接至存储器管理电路702并且用以控制存储器储存装置100的电源。
图13是根据一范例实施例示出硬位模式译码的示意图。
请参照图13,在此以SLC闪存为例,分布1410与分布1420是用来表示多个第一存储单元的储存状态,而分布1410与1420分别代表着不同的储存状态。这些第一存储单元可以属于同样的实体程序化单元或是不同的实体程序化单元,本发明并不在此限。在此假设当一个存储单元属于分布1410时,此存储单元所储存的是位“1”;当存储单元属于分布1420时,此存储单元储存的是位“0”。当存储器管理电路702以读取电压1440来读取存储单元时,存储器管理电路702会取得验证位,其是用来指示此存储单元是否为导通。在此假设存储单元导通时验证位是“1”,反之则是“0”,但本发明并不在此限。若此验证位为“1”,则存储器管理电路702会判断此存储单元属于分布1410,反之则是分布1420。然而,分布1410与分布1420在区域1430中是重叠的。也就是说,有若干个存储单元应该是属于分布1410但被识别为分布1420,并且有若干个存储单元应该是属于分布1420但被识别为分布1410。
在此范例实施例中,当要读取这些第一存储单元时,存储器管理电路702会先选择读取电压(例如,读取电压1441)来读取这些第一存储单元以取得第一存储单元的验证位。错误检查与校正电路708会根据第一存储单元的验证位来执行包含机率译码算法的译码操作(也称为第一解码操作),以产生多个译码位,而此些译码位可以组成一个码字。
在本范例实施例中,机率译码算法是把一个符号(symbol)可能的解码结果当作一个候选人(candidate),并且在译码过程中输入的信息或者中间运算过程的数值是以这些候选人的机率值或是候选人之间机率的比例来表示,进而决定最有可能的候选人是哪一个。举例而言,如果一个符号有两个候选人(位0and 1),机率译码算法是各自依照0或者1发生的机率去计算最有可能的候选人,或者是以0与1之间机率的比例去计算最有可能的候选人。假如是N个候选人,例如在有限场(Finite Field)下可能的数值为0~N-1(N为正整数,每一个候选人是代表多个位),则机率译码算法是各自计算N个候选人的机率来决定最有可能的候选人,或者是以其中一个数值的机率作为分母去计算相对的机率比例来决定最有可能的候选人。在一范例实施例中,上述机率的比例也可以用对数的形式来表示。
在本范例实施例中,机率译码算法可以是回旋码(convolutional code)、涡轮码(turbo code)、低密度奇偶检查码(low-density parity-check code)或其他具有机率译码特征的算法。举例来说,在回旋码与涡轮码中,可以用有限状态机(finite statemachine)来编码与译码,并且在本范例实施例中会根据验证位来计算最有可能的多个状态,进而产生译码位。以下将以低密度奇偶检查码为例进行说明。
若使用的是低密度奇偶检查码,在根据验证位来执行第一译码操作时,存储器管理电路702还会根据每一个验证位来取得每一个存储单元的译码初始值。例如,若验证位是“1”,存储器管理电路702会设定对应的存储单元的译码初始值为n;若验证位是“0”,则解码初始值为-n。其中n为正数,但本发明并不限制正整数n的值为多少。在一实施例中,n例如是8。
接下来,错误检查与校正电路708会根据这些译码初始值来执行低密度奇偶检查算法的迭代译码以产生包含多个译码位的码字。在迭代译码中,这些译码初始值会不断地被更新以代表一个机率值,而这个机率值也被称为可靠度(realiability)或信心度(belief)。被更新的译码初始值会被转换成多个译码位,错误检查与校正电路708会把这些译码位当作一个向量,并将此向量与低密度奇偶检查算法的奇偶检查矩阵(parity-checkmatrix)做模2(module 2)的矩阵相乘,以取得多个校验子(syndrome)。这些校验子可以用来判断译码位所组成的码字是否为有效的码字。若译码位所组成的码字是有效的码字,则迭代译码会停止,并且错误检查与校正电路708会输出这些译码位所组成的码字。若译码字节成无效的码字,则会继续更新解码初始值并且产生新的译码位以进行下一次迭代。当迭代次数到达预设迭代次数时,迭代解码会停止。错误检查与校正电路708会利用最后一次迭代所产生的译码位来判断是否译码成功。例如,若根据校验子判断最后一次迭代所产生的译码字节成有效的码字,则是解码成功;若第一译码字节成无效的码字,则表示译码失败。
在另一范例实施例中译码操作所包括的机率译码算法是回旋码与涡轮码,并且译码操作中还会包括其他的错误校正码。例如,回旋码与涡轮码可以搭配任意算法的奇偶码一起使用。在译码操作中回旋码或涡轮码的译码部分执行完毕以后,奇偶码可以用来判断所产生的译码位所组成的码字是否为有效的码字,进而判断是否解码成功。
不论使用何种错误校正码,若译码失败,表示这些第一存储单元储存有不可更正的错误位。若译码失败,存储器管理电路702会重新取得另一读取电压,并用此另一读取电压(例如读取电压1442)来读取这些第一存储单元,以重新取得存储单元的验证位。存储器管理电路702会根据重新取得的验证位来执行上述的第一译码操作以取得由多个译码字节成的另一码字。在一范例实施例中,错误检查与校正电路708会根据该另一码字所对应的校验子判断所述另一码字是否为有效的码字。若所述另一码字非为有效的码字时,存储器管理电路702会判断译码失败。若重新取得读取电压的次数没有超过默认次数,则存储器管理电路702会再重新取得其他取得电压(例如,读取电压1443),并且根据重新取得的读取电压1443读取第一存储单元,以重新取得验证位并执行第一译码操作。
换句话说,当有不可更正的错误位时,通过重新取得读取电压,一些存储单元的验证位会被改变,进而改变机率译码算法中若干个机率值,进而有机会改变了译码操作的译码结果。逻辑上来说,上述重新取得读取电压的动作是要翻转(flip)一个码字中的若干位,并对新的码字重新解码。在一些情况下,在翻转前无法译码的码字(有不可更正的错误位),有可能在翻转后可以译码。并且,在一范例实施例中存储器管理电路702会尝试译码数次,直到尝试的次数超过预设次数为止。然而,本发明并不限制预设次数为多少。
此须说明的是,虽然上述的在重新读取(Retry-Read)机制是重新取得一个读取电压,然而本发明不限于此。在应用于MLC或TLC闪存的实施例中,重新读取机制是用于取得读取电压组,并且使用此读取电压组中的多个读取电压读取存储单元并执行第一译码操作。更详细来说,存储器管理电路702会预先配置默认读取电压组与多个用于重新读取的重新读取电压组。在第一次读取第一存储单元时,存储器管理电路702可以先使用上述的默认读取电压组中的多个读取电压读取第一存储单元以执行硬位模式译码操作。当使用默认读取电压组中的第一电压读取第一存储单元但发生译码失败时,存储器管理电路702可以执行重新读取机制以从选择上述的重新读取电压组的其中之一以执行第一次的重新读取并执行硬位模式译码操作。在第一次的重新读取的过程中当发生译码失败时,存储器管理电路702可以执行第二次的重新读取。例如,存储器管理电路702可以再从上述的重新读取电压组的中选择其他的读取电压组来读取第一存储单元并执行硬位模式译码操作。须注意的是,虽然上述实施例只执行了两次重新读取的操作,但本发明并不用于限定重新读取的数量。此外,本发明并不限制所使用的是SLC、MLC或是TLC闪存。需注意的识,虽然前述范例是描述读取电压组中包括多个读取电压,然而本发明并不用于限定读取电压组中的读取电压的数量。在其他实施例中,读取电压组也可以仅包括一个读取电压。
在图13的范例实施例中,存储单元的译码初始值是根据一个验证位而被分为两个数值(例如,n与-n)。根据两种数值来执行的迭代译码也被称为硬位模式(hard bit mode)的迭代解码。然而,上述改变读取电压的步骤也可以应用在软位模式(soft bit mode)的迭代解码,其中每一个存储单元的译码初始值是根据多个验证位所决定。值得注意的是,不论是硬位模式或是软位模式,在迭代译码中都会计算位的机率值,因此都属于机率译码算法。
基于上述,在从可复写式非易失性存储器模块406中读取数据时,存储器管理电路702会先执行硬位模式译码操作来进行译码以取得所欲读取的数据。在执行硬位模式译码操作时,可以先使用读取电压组来读取存储单元并进行译码。若译码失败且重新取得读取电压组的次数没有超过默认次数,则存储器管理电路702会再重新取得其他取得电压组,并且根据重新取得的读取电压组读取前述的存储单元以重新进行译码。当执行重新取得读取电压组的步骤的执行次数超过默认次数时,存储器管理电路702可以改为执行其他的译码操作(例如,软位模式译码操作)。
特别是,前述的预设次数通常是“所有可用以重新取得的读取电压组的数量”,而此数量在MLC或是TLC闪存中通常较大并且会造成在改为执行其他的译码操作(例如,软位模式译码操作)前需耗费大量的时间在执行重新取得读取电压组以执行读取与译码的操作中。
因此,本发明提出一种电压识别方法,可以快速地判断哪些读取电压组可能会发生译码失败,并且避免使用此些读取电压组执行存储单元的读取以减少硬位模式译码操作的运行时间。
详细来说,在本实施例中,存储器管理电路702会对每一个读取电压组储存对应的校验信息查找表。例如,图14是根据一范例实施例示出校验信息查找表的示意图。
请参照图14,假设在本实施例中,存储器管理电路702被配置了读取电压组T0~T15。针对读取电压组T0~T15中的每一个读取电压组,存储器管理电路702会预先储存相对应的校验信息查找表。以读取电压组T0为例,假设图14中的校验信息查找表1400是对应于读取电压组T0的校验信息查找表。在校验信息查找表1400中,可以记录多个区间SI_0~SI_2中的每一个区间与前述的读取电压组T0~T15之间的关系。
在此需说明的是,区间SI_0~SI_2中的每一个区间用以代表校验信息(例如,前述的校验子)的范围。例如,区间SI_0代表校验子的数值小于或等于600;区间SI_1代表校验子的数值大于600并且小于800;区间SI_2代表校验子的数值大于或等于800。然而,本发明并不用于限定前述区间的数量以及每个区间的数值范围。
特别是,针对SI_0~SI_2中的每一个区间,校验信息查找表1400会储存相对应的位序列,并且位序列中的多个位会分别对应至读取电压组T0~T15。以校验信息查找表1400中的区间SI_0为例,区间SI_0的位序列为“0110111111111101”。其中,第1个位对应至读取电压组T0、第2个位对应至读取电压组T1、第3个位对应至读取电压组T2,以此类推。而位数值被设定为1(也称为,第一位数值)的读取电压组又可以被称为“第一类读取电压组”,位数值被设定为0(也称为,第二位数值)的读取电压组又可以被称为“第二类读取电压组”。在本实施例中,“第一类读取电压组”代表在重新读取机制中可以被用来重新取得的读取电压组,且此些读取电压组可以有较高的机率成功译码所读取出的数据(即,发生译码失败的机率小于门槛值),故第一类读取电压组可以被用来执行读取操作。“第二类读取电压组”代表在重新读取机制中不会被用来重新取得的读取电压组,且此些读取电压组有较高的机率发生解码失败(例如,发生解码失败的机率大于前述门槛值),故第二类读取电压组不会被用来执行读取操作。
在此需说明的是,每一个区间的位序列中的位需被设定为0或1可以根据读取电压分布图、通过统计或实验的方式来决定。以读取电压组T0的校验信息查找表1400为例,在区间SI_0的位序列中,位数值被设定为0的位所对应的读取电压组T3与T14在读取电压分布图中与读取电压组T0的距离较远(例如,距离大于门槛值),而使用读取电压组T3与T14进行读取会有较高的机率发生译码失败,因此可以将区间SI_0的位序列中读取电压组T3与T14所对应的位(即,第4、15个位)设定为0。此外,在读取电压分布图中,由于读取电压组T3与T14以外的其他的读取电压组距离读取电压组T0较近,代表此些读取电压组可以有较高的机率成功译码所读取出的数据,因此读取电压组T3与T14以外的其他的读取电压组所对应的位会被设定为1。此外,由于校验信息查找表1400为读取电压组T0的校验信息查找表,故在此会将读取电压组T0所对应的数值设定为0以避免在重新读取机制中重复使用读取电压组T0。
虽然前述范例是以校验信息查找表1400中的区间SI_0为例进行说明,但相类似的方式也可以应用到校验信息查找表1400中的区间SI_1、SI_2。此外,针对读取电压组T0~T15中的每一个读取电压组,存储器管理电路702会储存类似于校验信息检查表1400的校验信息查找表。
之后,当存储器管理电路702第一次读取可复写式非易失性存储器模块406中的多个第一存储单元时,假设存储器管理电路702先使用读取电压组T0(也称为,第一读取电压组)来读取此些第一存储单元并执行第一译码操作以产生校验子(也称为,第一校验信息)。之后,存储器管理电路702会使用此第一校验信息判断是否译码成功(即,译码位所组成的码字是否为有效的码字)。
当使用此第一校验信息判断译码发生失败(即,译码位所组成的码字非为有效的码字)时,会执行重新读取机制。更详细来说,假设第一校验信息的值为400(即,校验子的值为400),存储器管理电路702会判断第一校验信息是位于校验信息查找表1400中的区间SI_0(也称为,第一区间)。存储器管理电路702会从校验信息查找表1400中获得对应于区间SI_0的位序列(也称为,第一位序列)。特别是,由于是第一次读取第一存储单元,在本实施例中,存储器管理电路702会先产生长度相同于第一位序列的初始位序列IBS,且初始位序列IBS中的每一个位皆为1。接着,存储器管理电路702会对初始位序列IBS与第一位序列进行逻辑运算,例如为与(AND)运算。
例如,图15是根据一范例实施例示出对位序列执行逻辑运算的示意图。
请参照图15,在获得第一位序列BS1后,存储器管理电路702会将初始位序列IBS与第一位序列BS1执行逻辑运算以获得位序列NBS1。特别是,由于初始位序列IBS的每个位皆为1,故位序列NBS1的每个位的数值会相同于第一位序列BS1。之后,存储器管理电路702会将位序列NBS1中被设定为1的位所对应的读取电压组T1~T2、T4~T13与T15(统称为,第二读取电压组)识别为在重新读取机制中可以被用来读取第一存储单元的读取电压组;此外,存储器管理电路702会将位序列NBS1中被设定为0的位所对应的读取电压组T0、T3与T14(统称为,第四读取电压组)识别为在重新读取机制中不会被用来读取第一存储单元的读取电压组。
假设存储器管理电路702从读取电压组T1~T2、T4~T13与T15中选择读取电压组T1(也称为,第三读取电压组)用以重新读取第一存储单元。在使用读取电压组T1重新读取第一存储单元并执行第一译码操作以产生校验子(也称为,第二校验信息)。存储器管理电路702会使用此第二校验信息判断是否译码成功(即,译码位所组成的码字是否为有效的码字)。
当使用此第二校验信息判断译码发生失败(即,译码位所组成的码字非为有效的码字)时,会再次执行重新读取机制。更详细来说,假设第二校验信息的值为700(即,校验子的值为700),存储器管理电路702会判断此第二校验信息是位于读取电压组T1的校验信息查找表(未示出)中的区间SI_1(也称为,第二区间)。存储器管理电路702会从读取电压组T1的校验信息查找表中获得对应于区间SI_1的位序列BS2(也称为,第二位序列)。接着,存储器管理电路702会对位序列NBS1(其相同于位序列BS1)与位序列BS2进行逻辑运算以获得如图15的位序列NBS2(也称为,第三位序列)。在图15的范例中由于位序列NBS1为“0110111111111101”且位序列BS2为“1000111000010101”,两者逻辑运算后可以获得“0000111000010101”的位序列NBS2。
之后,存储器管理电路702会将位序列NBS2中被设定为1的位所对应的读取电压组T4~T6、T11、T13与T15识别为在重新读取机制中可以被用来读取第一存储单元的读取电压组;此外,存储器管理电路702会将位序列NBS2中被设定为0的位所对应的读取电压组T0~T3、T7~T10、T12与T14(统称为,第五读取电压组)识别为在重新读取机制中不会被用来读取第一存储单元的读取电压组。之后,存储器管理电路702可以使用读取电压组T4~T6、T11、T13与T15的其中之一读取前述的第一存储单元。
前述的重新读取机制中,可以在译码失败时执行一次位序列的逻辑运算以根据逻辑运算后所获得的位序列挑选用于重新读取的读取电压组。特别是,当逻辑运算后所获得的位序列的每个位皆为0时(例如,图15中的位序列NBSn),代表读取电压组T0~T15所读取出的数据皆无法被成功的译码,此时存储器管理电路702可以改为执行其他的译码操作(例如,软位模式译码操作)。特别是,当一个读取电压组在一位序列中所对应的位被设定为0时,代表使用该读取电压组所读取出的数据无法被成功的译码,故存储器管理电路702可以避免使用该读取电压组,进而减少硬位模式译码操作的运行时间。
图16是根据一范例实施例示出电压识别方法的流程图。
请参照图16,在步骤S1601中,存储器管理电路702根据多个读取电压组中的第一读取电压组读取第一存储单元并执行第一译码操作以产生第一校验信息。在步骤S1603中,存储器管理电路702根据多个区间中第一校验信息所位于的第一区间,识别前述的多个读取电压组中对应于第一区间的多个第二读取电压组。在步骤S1605中,存储器管理电路702使用第二读取电压组中的第三读取电压组读取第一存储单元并执行第一译码操作。
综上所述,本发明的电压识别方法、存储器控制电路单元与存储器储存装置可以快速地判断哪些读取电压组可能会发生译码失败,并且避免使用此些读取电压组执行存储单元的读取以减少硬位模式译码操作的运行时间。
Claims (21)
1.一种电压识别方法,用于可复写式非易失性存储器模块,其中所述可复写式非易失性存储器模块包括多个存储单元,所述方法包括:
根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息;
根据多个区间中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组;以及
使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。
2.根据权利要求1所述的电压识别方法,其中识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的步骤包括:
根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。
3.根据权利要求1所述的电压识别方法,其中根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的步骤之前,所述方法还包括:
对所述多个读取电压组中的每一个读取电压组储存校验信息查找表,其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。
4.根据权利要求3所述的电压识别方法,其中所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的一位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。
5.根据权利要求4所述的电压识别方法,其中所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。
6.根据权利要求4所述的电压识别方法,其中识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的步骤包括:
从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。
7.根据权利要求6所述的电压识别方法,其中使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的步骤包括:
使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息;
根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列;
对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列;
根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元;以及
使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。
8.一种存储器控制电路单元,用于可复写式非易失性存储器模块,所述可复写式非易失性存储器模块包括多个存储单元,所述存储器控制电路单元包括:
主机接口,用以电性连接至主机系统;
存储器接口,用以电性连接至所述可复写式非易失性存储器模块;以及
存储器管理电路,电性连接至所述主机接口以及所述存储器接口,
其中所述存储器管理电路用以根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息,
其中所述存储器管理电路还用以根据多个区间中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组,
其中所述存储器管理电路还用以使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。
9.根据权利要求8所述的存储器控制电路单元,其中在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,
所述存储器管理电路还用以根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。
10.根据权利要求8所述的存储器控制电路单元,其中在根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的运作之前,
所述存储器管理电路还用以对所述多个读取电压组中的每一个读取电压组储存校验信息查找表,
其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。
11.根据权利要求10所述的存储器控制电路单元,其中所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。
12.根据权利要求11所述的存储器控制电路单元,其中所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。
13.根据权利要求11所述的存储器控制电路单元,其中在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,
所述存储器管理电路还用以从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。
14.根据权利要求13所述的存储器控制电路单元,其中在使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的运作中,
所述存储器管理电路还用以使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息,
所述存储器管理电路还用以根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列,
所述存储器管理电路还用以对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列,
所述存储器管理电路还用以根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元,
所述存储器管理电路还用以使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。
15.一种存储器储存装置,包括:
连接接口单元,用以电性连接至主机系统;
可复写式非易失性存储器模块,具有多个存储单元;以及
存储器控制电路单元,电性连接至所述连接接口单元与所述可复写式非易失性存储器模块,
其中所述存储器控制电路单元用以根据多个读取电压组中的第一读取电压组读取所述多个存储单元中的多个第一存储单元并执行第一译码操作以产生第一校验信息,
其中所述存储器控制电路单元还用以根据多个区间中所述第一校验信息所位于的第一区间,识别所述多个读取电压组中对应于所述第一区间的多个第二读取电压组,
其中所述存储器控制电路单元还用以使用所述多个第二读取电压组中的第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作。
16.根据权利要求15所述的存储器储存装置,其中在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,
所述存储器控制电路单元还用以根据所述多个区间中所述第一校验信息所位于的所述第一区间,识别所述多个读取电压组中不被用来读取所述多个第一存储单元的多个第四读取电压组。
17.根据权利要求15所述的存储器储存装置,其中在根据所述多个读取电压组中的所述第一读取电压组读取所述多个存储单元中的所述多个第一存储单元并执行所述第一译码操作以产生所述第一校验信息的运作之前,
所述存储器控制电路单元还用以对所述多个读取电压组中的每一个读取电压组储存校验信息查找表,
其中所述校验信息查找表用以记录所述校验信息查找表所属的读取电压组在所述多个区间中的每一个区间所对应的所述多个读取电压组中的多个第一类读取电压组以及多个第二类读取电压组。
18.根据权利要求17所述的存储器储存装置,其中所述校验信息查找表用以记录对应于所述多个区间中的每一个区间的位序列,在所述位序列中对应于所述多个第一类读取电压组的多个位分别被设定为第一位数值,且在所述位序列中对应于所述多个第二类读取电压组的多个位分别被设定为第二位数值。
19.根据权利要求18所述的存储器储存装置,其中所述多个第一类读取电压组的至少其中之一被用以执行读取操作,且所述多个第二类读取电压组不会被用以执行所述读取操作。
20.根据权利要求18所述的存储器储存装置,其中在识别所述多个读取电压组中对应于所述第一区间的所述多个第二读取电压组的运作中,
所述存储器控制电路单元还用以从所述第一读取电压组的所述校验信息查找表中获得对应于所述第一区间的第一位序列,并根据所述第一位序列中被设定为所述第一位数值的多个位识别所述多个第二读取电压组。
21.根据权利要求20所述的存储器储存装置,其中在使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作的运作中,
所述存储器控制电路单元还用以使用所述多个第二读取电压组中的所述第三读取电压组读取所述多个第一存储单元并执行所述第一译码操作以产生第二校验信息,
所述存储器控制电路单元还用以根据所述多个区间中所述第二校验信息所位于的第二区间,从所述第三读取电压组的所述校验信息查找表中获得对应于所述第二区间的第二位序列,
所述存储器控制电路单元还用以对所述第一位序列以及所述第二位序列执行逻辑运算以获得第三位序列,
所述存储器控制电路单元还用以根据所述第三位序列识别所述多个读取电压组中的多个第五读取电压组,其中所述多个第五读取电压组中的每一个读取电压组在所述第三位序列中所对应的位的数值为所述第二位数值,且所述多个第五读取电压组不会被用以读取所述多个第一存储单元,
所述存储器控制电路单元还用以使用所述多个读取电压组中所述多个第五读取电压组以外的其他读取电压组读取所述多个第一存储单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910905963.9A CN112634972B (zh) | 2019-09-24 | 2019-09-24 | 电压识别方法、存储器控制电路单元以及存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910905963.9A CN112634972B (zh) | 2019-09-24 | 2019-09-24 | 电压识别方法、存储器控制电路单元以及存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112634972A CN112634972A (zh) | 2021-04-09 |
CN112634972B true CN112634972B (zh) | 2023-08-15 |
Family
ID=75282669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910905963.9A Active CN112634972B (zh) | 2019-09-24 | 2019-09-24 | 电压识别方法、存储器控制电路单元以及存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112634972B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851458A (zh) * | 2014-02-18 | 2015-08-19 | 群联电子股份有限公司 | 解码方法、存储器存储装置与存储器控制电路单元 |
CN106158040A (zh) * | 2015-04-21 | 2016-11-23 | 群联电子股份有限公司 | 读取电压准位估测方法、存储器存储装置及控制电路单元 |
CN107622783A (zh) * | 2016-07-14 | 2018-01-23 | 群联电子股份有限公司 | 译码方法、存储器存储装置及存储器控制电路单元 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10475523B2 (en) * | 2013-05-31 | 2019-11-12 | Western Digital Technologies, Inc. | Updating read voltages triggered by the rate of temperature change |
TWI508082B (zh) * | 2013-09-30 | 2015-11-11 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 |
KR20160102738A (ko) * | 2015-02-23 | 2016-08-31 | 에스케이하이닉스 주식회사 | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 |
-
2019
- 2019-09-24 CN CN201910905963.9A patent/CN112634972B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104851458A (zh) * | 2014-02-18 | 2015-08-19 | 群联电子股份有限公司 | 解码方法、存储器存储装置与存储器控制电路单元 |
CN106158040A (zh) * | 2015-04-21 | 2016-11-23 | 群联电子股份有限公司 | 读取电压准位估测方法、存储器存储装置及控制电路单元 |
CN107622783A (zh) * | 2016-07-14 | 2018-01-23 | 群联电子股份有限公司 | 译码方法、存储器存储装置及存储器控制电路单元 |
Also Published As
Publication number | Publication date |
---|---|
CN112634972A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104572334B (zh) | 解码方法、存储器存储装置与存储器控制电路单元 | |
TWI695378B (zh) | 位元標記方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI628660B (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI668695B (zh) | 電壓調整方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN111415692B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
US10685711B1 (en) | Decoding method, memory controlling circuit unit and memory storage device | |
US11190217B2 (en) | Data writing method, memory controlling circuit unit and memory storage device | |
TWI691962B (zh) | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 | |
CN107146638A (zh) | 译码方法、内存储存装置及内存控制电路单元 | |
TWI681396B (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI721842B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111508546B (zh) | 解码方法、存储器控制电路单元与存储器存储装置 | |
CN112634972B (zh) | 电压识别方法、存储器控制电路单元以及存储器储存装置 | |
TWI705449B (zh) | 電壓識別方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI742509B (zh) | 資料寫入方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN109960603B (zh) | 比特标记方法、存储器控制电路单元以及存储器存储装置 | |
CN110797069A (zh) | 电压调整方法、存储器控制电路单元以及存储器存储装置 | |
CN111435604B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 | |
CN113138947B (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
CN113496752B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI681393B (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN110795268B (zh) | 比特判断方法、存储器控制电路单元以及存储器存储装置 | |
CN111324478B (zh) | 解码方法、存储器控制电路单元以及存储器存储装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |