CN104142801B - 数据写入方法、存储器控制器与存储器储存装置 - Google Patents
数据写入方法、存储器控制器与存储器储存装置 Download PDFInfo
- Publication number
- CN104142801B CN104142801B CN201310168330.7A CN201310168330A CN104142801B CN 104142801 B CN104142801 B CN 104142801B CN 201310168330 A CN201310168330 A CN 201310168330A CN 104142801 B CN104142801 B CN 104142801B
- Authority
- CN
- China
- Prior art keywords
- wordline
- physics
- memory element
- memory
- storing state
- 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
- Read Only Memory (AREA)
Abstract
本发明提出一种数据写入方法、存储器控制器与存储器储存装置。即用于将数据写入至物理抹除单元中的数据写入方法和使用此方法的存储器控制器与存储器储存装置。该数据写入方法包括以每一物理编程单元为单位将此数据划分为多笔信息帧。此外,该数据写入方法也包括将这些信息帧依序地写入至至少一第一字线上的存储单元所构成的至少一物理编程单元中,且将位于邻接于第一字线之后的至少一第二字线上的存储单元编程成一辅助态样。基此,该数据写入方法可有效地避免未写满的物理抹除中的数据因高温而遗失。
Description
技术领域
本发明涉及一种用于可重写式非易失性存储器模块的数据写入方法以及使用此方法的存储器控制器与存储器储存装置。
背景技术
数码相机、手机与MP3在这几年来的成长十分迅速,使得消费者对储存媒体的需求也急速增加。由于可重写式非易失性存储器(rewritable non-volatile memory)具有数据非易失性、省电、体积小、无机械结构、读写速度快等特性,最适于便携式电子产品,例如笔记型计算机。固态硬盘就是一种以快闪存储器作为储存媒体的储存装置。因此,近年快闪存储器产业成为电子产业中相当热门的一环。
随着半导体工艺的进步,目前的技术已发展出具有能够储存多位数据的存储单元的快闪存储器模块。具体来说,存储单元的数据写入(或称为编程)是利用施予一特定端点的电压,例如是控制栅极电压来改变栅极中的一电荷补捉层的电子量,因而改变了存储单元的通道的导通状态,以呈现不同的储存状态。例如,以多阶储存单元(Multi-Level Cell,MLC)NAND型快闪存储器为例,当下页面数据为1且上页面数据为1时,控制电路会控制字线控制电路不改变存储单元中的栅极电压,而将存储单元的储存状态保持为“11”;当下页面数据为1且上页面数据为0时,字线控制电路会在控制电路的控制下改变存储单元中的栅极电压,而将存储单元的储存状态改变为“10”;当下页面数据为0且上页面数据为0时,字线控制电路会在控制电路的控制下改变存储单元中的栅极电压,而将存储单元的储存状态改变为“00”;并且,当下页面数据为0且上页面数据为1时,字线控制电路会在控制电路的控制下改变存储单元中的栅极电压,而将存储单元的储存状态改变为“01”。也就是说,当读取数据时,控制电路会根据目前存储单元中的栅极电压来识别此存储单元的储存状态。
然而,在快闪存储器模块处于高温下,所储存的数据可能会因为存储单元的漏电而遗失。例如,在配置有嵌入式多媒体卡(Embedded MMC,eMMC)芯片的电子装置(例如,手机、平板计算机、导航机)的量产过程中,已烧录数据(如,固件码)的eMMC芯片需经过高温锡炉工艺来被打件至电子装置上。然而,在高温过程中,eMMC芯片中的数据可能会遗失,造成所制造的电子装置无法正常运作。特别是,当在一个物理区块未被写满下,由于未被编程的字线上的存储单元的电位最高,而在高温下使得邻近存有数据的存储单元的边缘产生很大的漏电,因此,造成eMMC芯片中的数据遗失。
因此,如何避免储存于快闪存储器模块中的数据因高温而遗失,为本领域技术人员所致力克服的问题。
发明内容
本发明提供一种数据写入方法、存储器控制器与存储器储存装置,其能够有效地避免一个未写满的数据的物理抹除单元因高温而遗失储存于其中的数据。
本发明范例实施例的数据写入方法用于将数据写入至物理抹除单元中,其中此物理抹除单元包括多个存储单元、多条字线与多条位线,每一存储单元与其中一条字线以及其中一条位线电性连接,这些存储单元构成多个物理编程单元,这些物理编程单元包括多个下物理编程单元与多个上物理编程单元,并且写入数据至下物理编程单元的速度快于写入数据至上物理编程单元的速度。本数据写入方法包括将此数据以每一物理编程单元为单位划分为多笔信息帧,其中这些信息帧的数目小于物理抹除单元的物理编程单元的数目。此外,本数据写入方法也包括先填满下物理编程单元后再使用上物理编程单元来写入这些信息帧,或将邻接这些字线之中的至少一第一字线的至少一第二字线编程一辅助态样,其中第一字线储存至少部分这些信息帧,该辅助态样为无效数据,并且在此物理抹除单元中,第一字线无邻接一第三字线,其中此第三字线上的存储单元中的信息帧为抹除状态。
在本发明的一实施例中,每一存储单元的储存状态包括第一储存状态、第二储存状态、第三储存状态与第四储存状态,其中对应第一储存状态的验证电压小于对应第二储存状态的验证电压,对应第二储存状态的验证电压小于对应第三储存状态的验证电压,对应第三储存状态的验证电压小于对应第四储存状态的验证电压。并且,上述将邻接第一字线的第二字线编程该辅助态样的步骤包括:将这些信息帧依序地写入至这些字线之中的至少一第一字线上的存储单元所构成的至少一物理编程单元中并且将第二字线上的存储单元编程成第二储存状态或第三储存状态。
在本发明的一实施例中,其中上述将至少一第二字线上的存储单元编程成辅助态样的步骤包括:根据至少一第一字线上的存储单元的储存状态来设定此辅助态样;以及将至少一第二字线上的存储单元编程成此辅助态样。
在本发明的一实施例中,上述将至少一第二字线上的存储单元编程成辅助态样的步骤包括:将至少一第二字线上的存储单元编程成相同于位于第一字线之中最后一条字线上的存储单元的储存状态。
在本发明的一实施例中,上述填满下物理编程单元后再使用上物理编程单元来写入信息帧的步骤包括:将这些信息帧之中的部分信息帧写入至物理抹除单元中以填满这些下物理编程单元并且在这些下物理编程单元被填满之后将这些信息帧之中的其他信息帧写入至物理抹除单元的上物理编程单元中。
在本发明的一实施例中,上述将上述至少一第二字线上的存储单元编程成辅助态样的步骤包括:将一乱数值编程至此至少一第二字线上的存储单元。
在本发明的一实施例中,上述至少一第二字线上各存储单元的储存状态电位不大于上述至少一第一字线上相对应的存储单元的储存状态电位。
在本发明的一实施例中,上述至少一第二字线上各存储单元的储存状态电位不大于上述至少一第一字线上相对应的存储单元的储存状态电位与第一储存状态电位的中间值。
本发明范例实施例的存储器控制器用于控制可重写式非易失性存储器模块并且包括主机接口、存储器接口与存储器管理电路。主机接口用以电性连接至主机系统,存储器接口用以电性连接至可重写式非易失性存储器模块,并且存储器管理电路电性连接至主机接口与存储器接口。存储器管理电路用以将数据写入至此可重写式非易失性存储器模块的物理抹除单元中,其中此物理抹除单元包括多个存储单元、多条字线与多条位线,每一存储单元与其中一条字线以及其中一条位线电性连接,并且这些存储单元构成多个物理编程单元,这些物理编程单元包括多个下物理编程单元与多个上物理编程单元,写入数据至这些下物理编程单元的速度快于写入数据至这些上物理编程单元的速度。此外,存储器管理电路将此数据以每一物理编程单元为单位划分为多笔信息帧,其中这些信息帧的数目小于物理抹除单元的物理编程单元的数目。另外,存储器管理电路先填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧,或将邻接这些字线之中的至少一第一字线的至少一第二字线编程一辅助态样,其中第一字线储存至少部分这些信息帧并且此辅助态样为无效数据,其中在此物理抹除单元中,第一字线无邻接一第三字线,其中此第三字线上的存储单元中的储存状态为抹除状态。
在本发明的一实施例中,每一存储单元的储存状态包括第一储存状态、第二储存状态、第三储存状态与第四储存状态,其中对应第一储存状态的验证电压小于对应第二储存状态的验证电压,对应第二储存状态的验证电压小于对应第三储存状态的验证电压,对应第三储存状态的验证电压小于对应第四储存状态的验证电压。并且,上述将邻接第一字线的第二字线编程该辅助态样的运作中,存储器管理电路将这些信息帧依序地写入至这些字线之中的至少一第一字线上的存储单元所构成的至少一物理编程单元中并且将第二字线上的存储单元编程成第二储存状态或第三储存状态。
在本发明的一实施例中,上述的存储器管理电路根据第一字线上的存储单元的储存状态来设定辅助态样。
在本发明的一实施例中,上述的辅助态样为相同于位于第一字线之中一最后一条字线上的存储单元的储存状态。
在本发明的一实施例中,上述填满下物理编程单元后再使用上物理编程单元来写入信息帧的运作中,存储器管理电路将这些信息帧之中的部分信息帧写入至物理抹除单元中以填满这些下物理编程单元并且在这些下物理编程单元被填满之后将这些信息帧之中的其他信息帧写入至物理抹除单元的上物理编程单元中。
在本发明的一实施例中,在上述将至少一第二字线上的存储单元编程成辅助态样的运作中,存储器管理电路将一乱数值编程至此至少一第二字线上的存储单元。
本发明范例实施例的存储器储存装置包括连接器、可重写式非易失性存储器模块与存储器控制器。连接器用以电性连接至主机系统。存储器控制器电性连接至连接器与可重写式非易失性存储器模块,并且用以将数据写入至此可重写式非易失性存储器模块的物理抹除单元中,其中此物理抹除单元包括多个存储单元、多条字线与多条位线,每一存储单元与其中一条字线以及其中一条位线电性连接,这些存储单元构成多个物理编程单元,这些物理编程单元包括多个下物理编程单元与多个上物理编程单元,写入数据至这些下物理编程单元的速度快于写入数据至这些上物理编程单元的速度。此外,存储器控制器将此数据以每一物理编程单元为单位划分为多笔信息帧,其中这些信息帧的数目小于物理抹除单元的物理编程单元的数目。另外,存储器控制器先填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧,或将邻接这些字线之中的至少一第一字线的至少一第二字线编程一辅助态样,其中第一字线储存至少部分这些信息帧并且此辅助态样为无效数据,其中在此物理抹除单元中,第一字线无邻接一第三字线,其中此第三字线上的存储单元中的储存状态为抹除状态。
在本发明的一实施例中,每一存储单元的储存状态包括第一储存状态、第二储存状态、第三储存状态与第四储存状态,其中对应第一储存状态的验证电压小于对应第二储存状态的验证电压,对应第二储存状态的验证电压小于对应第三储存状态的验证电压,对应第三储存状态的验证电压小于对应第四储存状态的验证电压。并且,上述将邻接第一字线的第二字线编程该辅助态样的运作中,存储器控制器将这些信息帧依序地写入至这些字线之中的至少一第一字线上的存储单元所构成的至少一物理编程单元中并且将第二字线上的存储单元编程成第二储存状态或第三储存状态。
在本发明的一实施例中,上述的存储器控制器根据第一字线上的存储单元的储存状态来设定辅助态样。
在本发明的一实施例中,上述的辅助态样为相同于位于第一字线之中一最后一条字线上的存储单元的储存状态。
在本发明的一实施例中,上述填满下物理编程单元后再使用上物理编程单元来写入信息帧的运作中,存储器控制器将这些信息帧之中的部分信息帧写入至物理抹除单元中以填满这些下物理编程单元并且在这些下物理编程单元被填满之后将这些信息帧之中的其他信息帧写入至物理抹除单元的上物理编程单元中。
在本发明的一实施例中,在上述将至少一第二字线上的存储单元编程成辅助态样的运作中,存储器控制器将一乱数值编程至此至少一第二字线上的存储单元。
本发明范例实施例的存储器储存装置包括连接器、可重写式非易失性存储器模块与存储器控制器。连接器用以电性连接至主机系统。可重写式非易失性存储器模块,具有多个物理抹除单元中,其中每一物理抹除单元包括多个存储单元、多条字线与多条位线,每一存储单元与这些字线的其中一条字线以及这些位线的其中一条位线电性连接,这些存储单元构成多个物理编程单元。存储器控制器电性连接至此连接器与可重写式非易失性存储器模块。在此,这些物理抹除单元之中的其中一个物理抹除单元的其中一条字线储存一无效数据,此无效数据相同于邻接于该其中一条字线的另一条字线上的有效数据或者无效数据为非抹除状态。
基于上述,本范例实施例的数据写入方法、存储器控制器与存储器储存装置能够有效地避免未写满的物理抹除单元在出厂前(过锡炉前)或在使用者使用时,可能造成的数据遗失。
为使本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图详细说明如下。
附图说明
图1是根据第一范例实施例所绘示的主机系统与存储器储存装置。
图2是根据一范例实施例所绘示的计算机、输入/输出装置与存储器储存装置的示意图。
图3是根据一范例实施例所绘示的主机系统与存储器储存装置的示意图。
图4是绘示图1所示的存储器储存装置的概要方块图。
图5是根据一范例实施例所绘示的可重写式非易失性存储器模块的概要方块图。
图6是根据一范例实施例所绘示的存储单元阵列的示意图。
图7是根据一范例实施例所绘示储存于存储单元阵列中的写入数据所对应的栅极电压的统计分配图。
图8是根据一范例实施例所绘示的编程存储单元的示意图。
图9是根据一范例实施例所绘示的从存储单元中读取数据的示意图。
图10是根据另一范例实施例所绘示的从存储单元中读取数据的示意图。
图11是根据一范例实施例所绘示的存储器控制器的概要方块图。
图12与图13是根据一范例实施例所绘示的管理可重写式非易失性存储器模块的范例示意图。
图14是根据本发明范例实施例绘示逻辑地址转物理编程单元映射表的范例。
图15是根据第一范例实施例所绘示的物理编程单元的示意图。
图16是根据一范例实施例所绘示的写入数据至物理抹除单元的示意图。
图17是根据第一范例实施例所绘示的数据写入方法的流程图。
图18是根据一范例实施例所绘示的写入数据至物理抹除单元的示意图。
图19是根据另一范例实施例所绘示的写入数据至物理抹除单元的示意图。
图20是根据第二范例实施例所绘示的数据写入方法的流程图。
附图符号说明
1000:主机系统
1100:计算机
1102:微处理器
1104:随机存取存储器
1106:输入/输出装置
1108:系统总线
1110:数据传输接口
1202:鼠标
1204:键盘
1206:显示器
1252:印表机
1256:随身盘
1214:存储卡
1216:固态硬盘
1310:数码相机
1312:SD卡
1314:MMC卡
1316:存储棒
1318:CF卡
1320:嵌入式储存装置
100:存储器储存装置
102:连接器
104:存储器控制器
106:可重写式非易失性存储器模块
202:存储器管理电路
206:存储器接口
252:缓冲存储器
254:电源管理电路
256:错误检查与校正电路
2202:存储单元阵列
2204:字线控制电路
2206:位线控制电路
2208:列解码器
2210:数据输入/输出缓冲器
2212:控制电路
702:存储单元
704:位线
706:字线
708:源极线
712:选择栅漏极晶体管
714:选择栅源极晶体管
VA:第一阈值电压
VB:第二阈值电压
VC:第三阈值电压
VD:第四阈值电压
VE:第五阈值电压
VF:第六阈值电压
VG:第七阈值电压
304(0)~304(R):物理抹除单元
402:储存区
412:数据区
414:闲置区
404:系统区
406:取代区
LSA(0)~LSA(L):扇区
LBA(0)~LBA(H):逻辑地址
PBA(0-1)~PBA(N-K):物理编程单元
800:逻辑地址-物理地址映射表
802:逻辑地址字段
804:物理地址字段
W0~W((K/2)-1):字线
DF(0)~DF(130):信息帧
S1701、S1703、S1705:数据写入方法的步骤
S2001、S2003、S2005:数据写入方法的步骤
具体实施方式
第一范例实施例
一般而言,存储器储存装置(亦称,存储器储存系统)包括可重写式非易失性存储器模块与控制器(亦称,控制电路)。通常存储器储存装置是与主机系统一起使用,以使主机系统可将数据写入至存储器储存装置或从存储器储存装置中读取数据。
图1是根据第一范例实施例所绘示的主机系统与存储器储存装置。
请参照图1,主机系统1000一般包括计算机1100与输入/输出(input/output,I/O)装置1106。计算机1100包括微处理器1102、随机存取存储器(random access memory,RAM)1104、系统总线1108与数据传输接口1110。输入/输出装置1106包括如图2的鼠标1202、键盘1204、显示器1206与印表机1252。必须了解的是,图2所示的装置非限制输入/输出装置1106,输入/输出装置1106可还包括其他装置。
在本发明实施例中,存储器储存装置100是通过数据传输接口1110与主机系统1000的其他元件电性连接。藉由微处理器1102、随机存取存储器1104与输入/输出装置1106的运作可将数据写入至存储器储存装置100或从存储器储存装置100中读取数据。例如,存储器储存装置100可以是如图2所示的随身盘1256、存储卡1214或固态硬盘(Solid StateDrive,SSD)1216等的可重写式非易失性存储器储存装置。
一般而言,主机系统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 Electronic Engineers,IEEE)1394标准、高速周边零件连接接口(Peripheral Component Interconnect Express,PCIExpress)标准、通用序列总线(Universal Serial Bus,USB)标准、安全数字(SecureDigital,SD)接口标准、超高速一代(Ultra High Speed-I,UHS-I)接口标准、超高速二代(Ultra High Speed-II,UHS-II)接口标准、存储棒(Memory Stick,MS)接口标准、多媒体储存卡(Multi Media Card,MMC)接口标准、嵌入式多媒体储存卡(Embedded MultimediaCard,eMMC)接口标准、通用快闪存储器(Universal Flash Storage,UFS)接口标准、小型快闪(Compact Flash,CF)接口标准、整合式驱动电子接口(Integrated DeviceElectronics,IDE)标准或其他适合的标准。
存储器控制器104用以执行以硬件型式或固件型式实作的多个逻辑门或控制指令,并且根据主机系统1000的指令在可重写式非易失性存储器模块106中进行数据的写入、读取与抹除等运作。
可重写式非易失性存储器模块106是电性连接至存储器控制器104,并且用以储存主机系统1000所写入的数据。在本范例实施例中,可重写式非易失性存储器模块106为多阶存储单元(Multi Level Cell,MLC)NAND型快闪存储器模块(即,一个存储单元中可储存2位数据的快闪存储器模块)。然而,本发明不限于此,可重写式非易失性存储器模块106亦可是复数阶存储单元(Trinary Level Cell,TLC)NAND型快闪存储器模块(即,一个存储单元中可储存3位数据的快闪存储器模块)、其他快闪存储器模块或其他具有相同特性的存储器模块。
图5是根据一范例实施例所绘示的可重写式非易失性存储器模块的概要方块图。
请参照图5,可重写式非易失性存储器模块106包括存储单元阵列2202、字线控制电路2204、位线控制电路2206、列解码器(column decoder)2208、数据输入/输出缓冲器2210与控制电路2212。
存储单元阵列2202包括用以储存数据的多个存储单元702、多个选择栅漏极(select gate drain,SGD)晶体管712与多个选择栅源极(select gate source,SGS)晶体管714、以及连接这些存储单元的多条位线704、多条字线706、与共用源极线708(如图6所示)。存储单元702是以阵列方式配置在位线704与字线706的交叉点上。当从存储器控制器104接收到写入指令或读取数据时,控制电路2212会控制字线控制电路2204、位线控制电路2206、列解码器2208、数据输入/输出缓冲器2210来写入数据至存储单元阵列2202或从存储单元阵列2202中读取数据,其中字线控制电路2204用以控制施予至字线706的偏压,位线控制电路2206用以控制施予至位线704的偏压,列解码器2208依据指令中的解码列地址以选择对应的位线,并且数据输入/输出缓冲器2210用以暂存数据。
在本范例实施例中,可重写式非易失性存储器模块106为MLC NAND型快闪存储器模块,其使用多种栅极电压来代表多位(bits)的数据。具体来说,存储单元阵列2202的每一存储单元具有多个状态,并且这些状态是以多个阈值偏压来区分。
图7是根据一范例实施例所绘示储存于存储单元阵列中的写入数据所对应的栅极电压的统计分配图。
请参照图7,以MLC NAND型快闪存储器为例,每一存储单元中的栅极电压可依据第一阈值偏压VA、第二阈值偏压VB与第三阈值偏压VC而区分为4种储存状态,并且这些储存状态分别地代表“11”、“10”、“00”与“01”。换言之,每一个储存状态包括最低有效位(LeastSignificant Bit,LSB)以及最高有效位(Most Significant Bit,MSB)。在本范例实施例中,储存状态(即,“11”、“10”、“00”与“01”)中从左侧算起的第1位的值为LSB,而从左侧算起的第2位的值为MSB。因此,在第一范例实施例中,每一存储单元可储存2位数据。必须了解的是,图8所绘示的栅极电压及其储存状态的对应仅为一个范例。在本发明另一范例实施例中,栅极电压与储存状态的对应亦可是随着栅极电压越大而以“11”、“10”、“01”与“00”排列。或者,栅极电压所对应的储存状态亦可为对实际储存值进行映射或反相后的值,此外,在另一范例时实例中,亦可定义从左侧算起的第1位的值为MSB,而从左侧算起的第2位的值为LSB。
在本范例实施例中,每一存储单元可储存2位数据,因此同一条字线上的存储单元会构成2个物理编程单元(即,下物理编程单元与上物理编程单元)的储存空间。也就是说,每一存储单元的LSB是对应下物理编程单元,并且每一存储单元的MSB是对应上物理编程单元。
图8是根据一范例实施例所绘示的编程存储单元的示意图。
请参照图8,在本范例实施例中,存储单元的编程是通过脉冲写入/验证临界偏压方法来完成。具体来说,欲将数据写入至存储单元时,存储器控制器104会设定初始写入偏压以及写入偏压脉冲时间,并且指示可重写式非易失性存储器模块106的控制电路2212使用所设定的初始写入偏压以及写入偏压脉冲时间来编程存储单元,以进行数据的写入。之后,存储器控制器104会使用验证偏压来对存储单元进行验证,以判断存储单元是否已处于正确的储存状态。倘若存储单元未被编程至正确的储存状态时,存储器控制器104指示控制电路2212以目前施予的写入偏压加上一增量阶跃脉冲程序(Incremental-step-pulseprogramming,ISPP)调整值作为新的写入偏压(亦称为重重写入偏压)并且依据新的写入偏压与写入偏压脉冲时间再次来编程存储单元。反之,倘若存储单元已被编程至正确的储存状态时,则表示数据已被正确地写入至存储单元。例如,初始写入偏压会被设定为16伏特(Voltage,V),写入偏压脉冲时间会被设定为18微秒(microseconds,μs)并且增量阶跃脉冲程序调整值被设定为0.6V,但本发明不限于此。在此,第一储存状态“11”的验证偏压是小于第二储存状态“10”的验证偏压;第二储存状态“10”的验证偏压是小于第三储存状态“00”的验证偏压;并且第三储存状态“00”的验证偏压是小于第四储存状态“01”的验证偏压。
图9是根据一范例实施例所绘示的从存储单元中读取数据的示意图。
请参照图9,存储单元阵列2202的存储单元的读取运作是藉由施予读取偏压于控制门(control gate),藉由存储单元的通道(存储单元用以电连接位线与源极线的路径,例如是存储单元源极至漏极间的路径)的导通状态,来识别存储单元储存的数据。在读取下页数据的运作中,字线控制电路2204会使用第二阈值偏压VB作为读取偏压来施予至存储单元并且依据存储单元的通道是否导通和对应的运算式(1)来判断下页数据的值:
LSB=(VB)Lower_pre1 (1)
其中(VB)Lower_pre1表示通过施予第二阈值偏压VB而获得的第1下页验证值。
例如,当第二阈值偏压VB小于存储单元的栅极电压时,存储单元的通道不会导通并输出值'0'的第1下页验证值,由此LSB会被识别处于第一状态为0。例如,当第二阈值偏压VB大于存储单元的栅极电压时,存储单元的通道会导通并输出值'1'的第1下页验证值,由此,此LSB会被识别处于第二状态。在此,第一状态被识别为’0’并且第二状态被识别为’1’。也就是说,用以呈现LSB为1的栅极电压与用以呈现LSB为0的栅极电压可通过第二阈值偏压VB而被区分。
在读取上页数据的运作中,字线控制电路2204会分别地使用第三阈值偏压VC与第一阈值偏压VA作为读取偏压来施予至存储单元并且依据存储单元的通道是否导通和对应的运算式(2)来判断上页数据的值:
MSB=((VA)Upper_pre2)xor(~(VC)Upper_pre1)(2)
其中(VC)Upper_pre1表示通过施予第三阈值偏压VC而获得的第1上页验证值,并且(VA)Upper_pre2表示通过施予第一阈值偏压VA而获得的第2上页验证值,其中符号”~”代表反相。此外,在本范例实施例中,当第三阈值偏压VC小于存储单元的栅极电压时,存储单元的通道不会导通并输出值'0'的第1上页验证值((VC)Upper_pre1),当第一阈值偏压VA小于存储单元的栅极电压时,存储单元的通道不会导通并输出值'0'的第2上页验证值((VA)Upper_pre2)。
因此,在本范例实施例中,依照运算式(2),当第三阈值偏压VC与第一阈值偏压VA皆小于存储单元的栅极电压时,在施予第三阈值偏压VC下存储单元的通道不会导通并输出值'0'的第1上页验证值并且在施予第一阈值偏压VA下存储单元的通道不会导通并输出值'0'的第2上页验证值。此时,MSB会被识别为处于第二状态,即,’1’。
例如,当第三阈值偏压VC大于存储单元的栅极电压且第一阈值偏压VA小于存储单元的栅极电压小于存储单元的栅极电压时,在施予第三阈值偏压VC下存储单元的通道会导通并输出值'1'的第1上页验证值,并且在施予第一阈值偏压VA下存储单元的通道不会导通并输出值'0'的第2上页验证值。此时,MSB会被识别为处于第一状态,即,’0’。
例如,当第三阈值偏压VC与第一阈值偏压VA皆大于存储单元的栅极电压时,在施予第三阈值偏压VC下,存储单元的通道会导通并输出值'1'的第1上页验证值,并且在施予第一阈值偏压VA下存储单元的通道会导通并输出值'1'的第2上页验证值。此时,MSB会被识别为处于第二状态,即,’1’。
基于上述,在MLC NAND型快闪存储器的读取运作中,藉由第一阈值偏压VA、第二阈值偏压VB与第三阈值偏压VC,每一存储单元的储存状态可随着栅极电压越大而区分为第一储存状态“11”、第二储存状态“10”、第三储存状态“00”与第四储存状态“01”。
必须了解的是,尽管本发明是以MLC NAND型快闪存储器来作说明。然而,本发明不限于此,其他多层存储单元NAND型快闪存储器亦可依据上述原理进行数据的读取。
例如,以TLC NAND型快闪存储器为例(如图10所示),每一个储存状态包括左侧算起的第1位的最低有效位LSB、从左侧算起的第2位的中间有效位(Center SignificantBit,CSB)以及从左侧算起的第3位的最高有效位MSB,其中LSB对应下页面,CSB对应中页面,MSB对应上页面。在此范例中,每一存储单元中的栅极电压可依据第一阈值偏压VA、第二阈值偏压VB、第三阈值偏压VC、第四阈值偏压VD、第五阈值偏压VE、第六阈值偏压VF与第七阈值偏压VG而区分为8种储存状态(即,第一储存状态“111”、第二储存状态“110”、第三储存状态“100”、第四储存状态“101”、第五储存状态“001”、第六储存状态“000”、第七储存状态“010”与第八储存状态“011”)。
图11是根据一范例实施例所绘示的存储器控制器的概要方块图。必须了解的是,图5所示的存储器控制器的结构仅为一范例,本发明不以此为限。
请参照图11,存储器控制器104包括存储器管理电路202、主机接口204与存储器接口206。
存储器管理电路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所能接受的格式。
在本发明一范例实施例中,存储器控制器104还包括缓冲存储器252、电源管理电路254以及错误检查与校正电路256。
缓冲存储器252是电性连接至存储器管理电路202并且用以暂存来自于主机系统1000的数据与指令或来自于可重写式非易失性存储器模块106的数据。
电源管理电路254是电性连接至存储器管理电路202并且用以控制存储器储存装置100的电源。
错误检查与校正电路256是电性连接至存储器管理电路202并且用以执行错误检查与校正程序以确保数据的正确性。具体来说,当存储器管理电路202从主机系统1000中接收到写入指令时,错误检查与校正电路256会为对应此写入指令的数据产生对应的错误检查与校正码(Error Checking and Correcting Code,ECC Code),并且存储器管理电路202会将对应此写入指令的数据与对应的错误检查与校正码写入至可重写式非易失性存储器模块106中。之后,当存储器管理电路202从可重写式非易失性存储器模块106中读取数据时会同时读取此数据对应的错误检查与校正码,并且错误检查与校正电路256会依据此错误检查与校正码对所读取的数据执行错误检查与校正程序。
图12与图13是根据一范例实施例所绘示的管理可重写式非易失性存储器模块的范例示意图。
必须了解的是,在此描述可重写式非易失性存储器模块106的物理抹除单元的运作时,以“提取”、“交换”、“分组”、“轮替”等词来操作物理抹除单元是逻辑上的概念。也就是说,可重写式非易失性存储器模块的物理抹除单元的实际位置并未更动,而是逻辑上对可重写式非易失性存储器模块的物理抹除单元进行操作。
请参照图12,存储器控制器104(或存储器管理电路202)会以物理编程单元为单位来对可重写式非易失性存储器模块106的存储单元702进行写入运作并且以物理抹除单元为单位来对可重写式非易失性存储器模块106的存储单元702进行抹除运作。具体来说,可重写式非易失性存储器模块106的存储单元702会构成多个物理编程单元PBA(0-1)~PBA(N-K),并且这些物理编程单元会构成多个物理抹除单元304(0)~304(R)。物理抹除单元为抹除的最小单位。亦即,每一物理抹除单元含有最小数目的一并被抹除的存储单元。物理编程单元为编程的最小单元。即,一个物理编程单元为写入数据的最小单元。每一物理编程单元通常包括数据位区与冗余位区。数据位区包含多个物理存取地址用以储存使用者的数据,而冗余位区用以储存系统的数据(例如,控制信息与错误更正码)。在本范例实施例中,位于同一条字线上的存储单元的LSB会构成一个下物理编程单元;并且位于同一条字线上的存储单元的MSB会构成一个上物理编程单元,其中写入数据至下物理编程单元的速度快于写入数据至上物理编程单元的速度。在本范例实施例中,存储器控制器104(或存储器管理电路202)会将可重写式非易失性存储器模块106的物理抹除单元304(0)~304(R)逻辑地分组为储存区402、系统区404与取代区406。
逻辑上属于储存区402的物理抹除单元是用以储存主机系统1000所写入的数据。也就是说,存储器储存装置100会使用分组为储存区402的物理抹除单元来实际地储存主机系统1000所写入的数据。更详细来说,存储器控制器104(或存储器管理电路202)会将储存区402分组为数据区412与闲置区414,其中数据区412的物理抹除单元(亦称为数据物理抹除单元)是已储存数据的物理抹除单元,而闲置区414的物理抹除单元(亦称为闲置物理抹除单元)是用以替换数据区412的物理抹除单元。因此,闲置区414的物理抹除单元为空或可使用的物理抹除单元,即无记录数据或标记为已没用的无效数据。也就是说,在闲置区414中的物理抹除单元已被执行抹除运作,或者当闲置区414中的物理抹除单元被提取用于储存数据之前所提取的物理抹除单元会被执行抹除运作。因此,闲置区414的物理抹除单元为可被使用的物理抹除单元。具体来说,当一个物理抹除单元从闲置区414中被选择来储存有效数据时,此物理抹除单元会被关联至数据区412。并且,存储器控制器104(或存储器管理电路202)会对在数据区412中所有物理编程单元所储存的数据皆为无效数据的物理抹除单元执行抹除操作,并且将抹除后的物理抹除单元关联至闲置区414,由此物理抹除单元可轮替地来储存主机系统1000所写入的数据。
逻辑上属于系统区404的物理抹除单元是用以记录系统数据,其中此系统数据包括关于存储器芯片的制造商与型号、存储器芯片的物理抹除单元数、每一物理抹除单元的物理编程单元数等。
逻辑上属于取代区406中的物理抹除单元是替代物理抹除单元。例如,可重写式非易失性存储器模块106于出厂时会预留4%的物理抹除单元作为更换使用。也就是说,当数据区412、闲置区414与系统区404中的物理抹除单元损毁时,预留于取代区406中的物理抹除单元是用以取代损坏的物理抹除单元(即,坏物理抹除单元(bad block))。因此,倘若取代区406中仍存有正常的物理抹除单元且发生物理抹除单元损毁时,存储器控制器104会从取代区406中提取正常的物理抹除单元来更换损毁的物理抹除单元。倘若取代区406中无正常的物理抹除单元且发生物理抹除单元损毁时,则存储器控制器104会将整个存储器储存装置100宣告为写入保护(write protect)状态,而无法再写入数据。
特别是,储存区402、系统区404与取代区406的物理抹除单元的数量会依据不同的存储器规格而有所不同。此外,必须了解的是,在存储器储存装置100的运作中,物理抹除单元关联至储存区402、系统区404与取代区406的分组关系会动态地变动。例如,当储存区402中的物理抹除单元损坏而被取代区406的物理抹除单元取代时,则原本取代区406的物理抹除单元会被关联至储存区402。
请参照图13,如上所述,数据区412与闲置区414的物理抹除单元是以轮替方式来储存主机系统1000所写入的数据。在本范例实施例中,存储器控制器104(或存储器管理电路202)会配置逻辑地址LBA(0)~LBA(H)给主机系统1000以进行数据的存取。
每个逻辑地址是由数个扇区(sector)所组成。例如,在本范例实施例中,每一逻辑地址是由4个扇区所组成,例如,扇区LSA(0)~LSA(3)是属于逻辑地址LBA(0);扇区LSA(4)~LSA(7)是属于逻辑地址LBA(1);扇区LSA(8)~LSA(11)是属于逻辑地址LBA(2)...等。但本发明不限于此,在本发明另一范例实施例中,逻辑地址亦可是由8个扇区所组成或是由16个扇区所组成。
例如,存储器控制器104(或存储器管理电路202)会维护逻辑地址-物理地址映射表来记录逻辑地址与物理编程单元之间的映射关系。也就是说,当主机系统1000欲在扇区中存取数据时,存储器控制器104(或存储器管理电路202)会确认此扇区所属的逻辑地址,并且在此逻辑地址所映射的物理编程单元中来存取数据。
例如,当存储器控制器104(或存储器管理电路202)开始使用物理抹除单元304(0)来储存主机系统1000欲写入的数据时,不管主机系统1000是写入那个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据依序地写入至物理抹除单元304(0)的物理编程单元;而当存储器控制器104(或存储器管理电路202)开始使用物理抹除单元304(1)来储存主机系统1000欲写入的数据时,不管主机系统1000是写入那个逻辑地址,存储器控制器104(或存储器管理电路202)会将数据写入至物理抹除单元304(1)的物理编程单元中。也就是说,当写入主机系统1000欲写入的数据时,存储器控制器104(或存储器管理电路202)会依序地使用一个物理抹除单元内的物理编程单元来写入数据,并且当此物理抹除单元内的物理编程单元被使用完后才会再选择另一个无储存数据的物理抹除单元(即,从闲置区414中提取一个物理抹除单元),并且在新选择的物理抹除单元的物理编程单元中继续依序地写入数据。在本范例实施例中,在存储器控制器104(或存储器管理电路202)将数据写入至物理编程单元后,存储器控制器104(或存储器管理电路202)会更新逻辑地址-物理地址映射表以正确地记录逻辑地址与物理编程单元的映射关系。
图14是根据第一范例实施例所绘示的逻辑地址转物理编程单元映射表的范例。
请参照图14,逻辑地址-物理地址映射表800包括逻辑地址字段802以及物理地址字段804。逻辑地址字段802记录所配置的每个逻辑地址的编号并且物理地址字段804记录每个逻辑地址映射的物理编程单元。在存储器储存装置100为全新且未曾被用来储存数据的状态下,物理抹除单元304(0)~304(N)会被关联至闲置区414,并且在逻辑地址-物理地址映射表800中记录对应每一个逻辑地址所映射的物理程序单元的字段会被标记为空值(例如,NULL)。
图15是根据第一范例实施例所绘示的物理编程单元的示意图。在此,以物理抹除单元304(0)为例进行说明,其他物理抹除单元的结构亦可以此类推。
请参照图15,物理抹除单元304(0)包括物理编程单元PBA(0-0)~PBA(0-K)。例如,在本范例实施例中,K为偶整数。例如,K为256。物理编程单元PBA(0-0)与物理编程单元PBA(0-2)是由字线W(0)上的存储单元所构成;物理编程单元PBA(0-1)与物理编程单元PBA(0-4)是由字线W(1)上的存储单元所构成;物理编程单元PBA(0-3)与物理编程单元PBA(0-6)是由字线W2上的存储单元所构成;物理编程单元PBA(0-5)与物理编程单元PBA(0-8)是由字线W(3)上的存储单元所构成;并且以此类推,物理编程单元PBA(0-(K-4))与物理编程单元PBA(0-(K-1))是由字线W(L-2)上的存储单元所构成且物理编程单元PBA(0-(K-2))与物理编程单元PBA(0-K)是由字线W(L-1)上的存储单元所构成。在此,物理编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)、…、PBA(0-(K-4))、PBA(0-(K-2))为下物理编程单元,而物理编程单元PBA(0-2)、PAB(0-4)、PBA(0-6)、PBA(0-8)、…、PBA(0-(K-1))、PBA(0-K)为上物理编程单元。
必须了解的是,在本发明另一范例实施例中,可重写式非易失性存储器模块106亦可为TLC NAND型快闪存储器模块或其他多阶存储单元快闪存储器芯片。例如,可重写式非易失性存储器模块106为TLC NAND型快闪存储器模块,并每个物理抹除单元的物理编程单元依据其存取速度可被区分为下物理编程单元(亦称为快速物理编程单元)、中物理编程单元(亦称为中速物理编程单元)与上物理编程单元(亦称为慢速物理编程单元)。
在本范例实施例中,当写入数据至物理抹除单元时,存储器控制器104(或存储器管理电路202)会将数据以物理编程单元的大小为单位划分为多个信息帧,依序地先将部分的信息帧编程至此物理抹除单元以填满此物理抹除单元的下物理编程单元,并且之后,再依序地将剩余的信息帧编程至此物理抹除单元的上物理编程单元。
图16是根据一范例实施例所绘示的写入数据至物理抹除单元的示意图。为了方便说明,以下假设每个物理抹除单元是由256个物理编程单元所组成,即,图15中的K为256。
请参照图16,倘若在可重写式非易失性存储器模块106未储存数据的的状态下主机系统1000下达写入数据至逻辑地址LBA(0)~LBA(130)时,存储器控制器104(或存储器管理电路202)会根据物理编程单元的大小(例如,8千字节(Kilobytes,KB))将此数据依序整理为对应逻辑地址LBA(0)~LBA(130)的信息帧DF(0)~DF(130)并且选择物理抹除单元304(0)来写入这些信息帧DF(0)~DF(130)。更详细来说,存储器控制器104(或存储器管理电路202)会先信息帧DF(0)~DF(127)依序地编程至物理抹除单元304(0)的下物理编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)、…、PBA(0-(253))、PBA(0-(251)),并且之后将DF(128)~DF(130)编程至上物理编程单元PBA(0-2)、PBA(0-4)、PBA(0-6)。然后,存储器控制器104(或存储器管理电路202)会更新逻辑地址-物理地址映射表800以记录逻辑地址LBA(0)~LBA(130)与物理编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)、…、PBA(0-(253))、PBA(0-(251))、PBA(0-2)、PBA(0-4)、PBA(0-6)之间的映射关系。
在物理抹除单元304(0)“未”被写满的例子(如图16所示),由于同一字线上的上下物理编程单元皆被编程,或者同一字线上的上物理编程单元未被编程字线而其下物理编程单元已被编程,故不会出现上下物理编程单元皆已被编程的字线临接上下物理编程单元皆未被编程的字线。因此,减少使可重写式非易失性存储器模块106处于高温下,其所储存的数据易因为边缘漏电而遗失的可能性。
图17是根据第一范例实施例所绘示的数据写入方法的流程图。
请参照图17,当欲将数据量不满一个物理抹除单元的容量的数据写入至可重写式非易失性存储器模块106时,在步骤S1701中,此数据会根据物理编程单元的大小被划分为多个信息帧。值得一的是,由于欲写入的数据的大小是小于一个物理抹除单元的容量,因此,在步骤S1701中所获得的信息帧的数目是小于一个物理抹除单元的物理编程单元的数目。
在步骤S1703中,这些信息帧的其中一部分会先被编程至空的物理抹除单元以填满此物理抹除单元的下物理编程单元。之后,在步骤S1705中,剩余的信息帧会被编程至此物理抹除单元的上物理编程单元。
第二范例实施例
第二范例实施例的存储器储存装置的结构与第一范例实施例的存储器储存装置是类似,其不同之处在于第二范例实施例的存储器控制器(或存储器管理电路)会根据物理编程单元PBA(0-0)、PBA(0-1)、PBA(0-2)、PBA(0-3)、…、PBA(0-(K-2))、PBA(0-(K-1))、PBA(0-(K))的排列顺序来将信息帧编程至物理抹除单元,但存储器控制器(或存储器管理电路)会在写入最后一笔信息帧后将下一条字线上的存储单元中编程成一辅助态样,由此避免未写满的物理抹除单元上的有效数据因漏电而遗失。以下将使用第一范例实施例的元件标号来说明第二范例实施例的差异之处。
图18是根据一范例实施例所绘示的写入数据至物理抹除单元的示意图。为了方便说明,以下假设每个物理抹除单元是由256个物理编程单元所组成,即,图15中的K为256。
请参照图18,倘若可重写式非易失性存储器模块106已被格式化成如图8的状态并且主机系统1000下达写入数据至逻辑地址LBA(0)~LBA(130)时,存储器控制器104(或存储器管理电路202)会根据物理编程单元的大小(例如,8仟字节(Kilobytes,KB))将此数据依序整理为对应逻辑地址LBA(0)~LBA(130)的信息帧DF(0)~DF(130)并且选择物理抹除单元304(0)来写入这些信息帧DF(0)~DF(130)。更详细来说,存储器控制器104(或存储器管理电路202)会将信息帧DF(0)~DF(130)依序地编程至物理抹除单元304(0)的下物理编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)、…、PBA(0-130),并且之后将物理抹除单元304(0)的字线W(64)上的存储单元编程成第二储存状态(即,“10”)。也就是说,字线W64上的存储单元所构成的下物理编程单元会被写入每位皆为“1”的数据0×FF并且字线W(64)上的存储单元所构成的上物理编程单元会被写入每位皆为“0”的数据0×00。在另一范例实施例中,亦可将字线W(64)上的存储单元所构成的下物理编程单元会被写入每位皆为“1”的数据0×00并且字线W(64)上的存储单元所构成的上物理编程单元会被写入每位皆为“0”的数据0×00,亦或字线W64上的存储单元所构成的下物理编程单元会被写入每位皆为“1”的数据0×00并且字线W(64)上的存储单元所构成的上物理编程单元会被写入每位皆为“0”的数据0×FF,亦即,字线W(64)上的存储单元所储存的数据态样不相同于抹除后的态样即可。
在物理抹除单元304(0)未被写满的例子(如图18所示),由于邻近于存有有效信息帧的存储单元的存储单元已被编程为一非抹除状态,因此,既使可重写式非易失性存储器模块106处于高温下,其所储存的数据也不易因为边缘漏电而遗失。
必须了解的是,尽管在本范例实施例中,是将邻近于存有有效信息帧的存储单元的存储单元编程成第二储存状态来避免因高温所产生的漏电,但本发明不限于此。在另一范例实施例中,亦可将邻近于存有有效信息帧的存储单元的存储单元编程成第三储存状态。也就是说,在本范例实施例中,邻近于存有有效信息帧的存储单元的存储单元者编程成中间储存状态(即,存储单元的栅极电压非处于最高或最低状态)以避免有效数据因高温而遗失。又或者,在另一范例实施例中,亦可根据最后一笔信息帧来决定编程至下一条字线上相对应的存储单元中的储存状态。例如,以TLC NAND快闪存储器模块为例,若储存最后一笔信息帧的一存储单元的储存状态为第一储存状态时,下一条字线上相对应的存储单元中会被编程成第一储存状态;若储存最后一笔信息帧的一存储单元的储存状态为第二储存状态时,下一条字线上相对应的存储单元中会被编程成第一或二储存状态;若储存最后一笔信息帧的一存储单元的储存状态为第三储存状态时,下一条字线上相对应的存储单元中会被编程成第二储存状态;若储存最后一笔信息帧的一存储单元的储存状态为第四储存状态时,下一条字线上相对应的存储单元中会被编程成第二或第三储存状态;若储存最后一笔信息帧的一存储单元的储存状态为第五储存状态时,下一条字线上相对应的存储单元中会被编程成第三储存状态;若储存最后一笔信息帧的一存储单元的储存状态为第六储存状态时,下一条字线上相对应的存储单元中会被编程成第三或第四储存状态;若储存最后一笔信息帧的一存储单元的储存状态为第七储存状态时,下一条字线上相对应的存储单元中会被编程成第四储存状态;若储存最后一笔信息帧的一存储单元的储存状态为第八储存状态时,下一条字线上相对应的存储单元中会被编程成第四或第五储存状态。亦即,下一条字线上相对应的存储单元的储存状态电位可因此存储单元被编程而成为储存最后一笔信息帧的一存储单元的储存状态与第一储存状态(或抹除状态)的中间值或不大于此中间值的电位,藉此,使得存有有效信息帧的存储单元的存储单元与同一物理抹除单元中储存状态为一抹除状态的存储单元间的电位不会变化太大而减少电荷补捉层的电子非因正常操作而流失的机率。
此外,值得一提的是,尽管在本范例实施中,仅在编程信息帧至物理编程单元过程中最后一条被施予写入偏压的字线的下一条字线上的存储单元被编程成第二储存状态,但本发明不限于此。在另一范例实施例中,存储器控制器104(或存储器管理电路202)亦可将邻接于在编程信息帧至物理编程单元过程中最后一条被施予写入偏压的字线之后的一预定数目的字线上的存储单元编程成中间储存状态或者将此物理抹除单元中所有未写入信息帧的存储单元编程成中间储存状态。其中,在本范例实施例中,”邻接”意指物理空间上或物理地址上的邻近或接续。
再者,尽管在本范例实施中,是将邻接于被写入信息帧的存储单元所对应的字线的至少一字线上的存储单元编程成中间储存状态来降低存有有效信息帧的存储单元与未写入信息帧的存储单元之间的电位差来减少因高温所产生的漏电,但本发明不限于此。在另一范例实施例中,存储器控制器104(或存储器管理电路202)亦可将邻接于被写入信息帧的存储单元所对应的字线的至少一字线上的存储单元编程为相同于在编程信息帧至物理编程单元过程中最后一条被施予写入偏压的字线上的存储单元的储存状态。
必须了解的是,尽管在第二范例实施例中,可重写式非易失性存储器模块106是以MLC NAND为例进行说明。然而,本发明不限于此,在可重写式非易失性存储器模块106为单阶存储单元快闪存储器模块的例子中,将被写入有效数据的下一条字线编程成上述预先定义储存状态,亦可达到避免数据遗失的效果。
图19是根据另一范例实施例所绘示的写入数据至物理抹除单元的示意图。为了方便说明,以下假设每个物理抹除单元是由256个物理编程单元所组成,即,图15中的K为256。
请参照图19,倘若可重写式非易失性存储器模块106已被格式化成如图8的状态并且主机系统1000下达写入数据至逻辑地址LBA(0)~LBA(130)时,存储器控制器104(或存储器管理电路202)会根据物理编程单元的大小(例如,8仟字节(Kilobytes,KB))将此数据依序整理为对应逻辑地址LBA(0)~LBA(130)的信息帧DF(0)~DF(130)并且选择物理抹除单元304(0)来写入这些信息帧DF(0)~DF(130)。更详细来说,存储器控制器104(或存储器管理电路202)会将信息帧DF(0)~DF(130)依序地编程至物理抹除单元304(0)的下物理编程单元PBA(0-0)、PBA(0-1)、PBA(0-3)、PBA(0-5)、…、PBA(0-130),并且之后将物理抹除单元304(0)的字线W(64)上的存储单元编程成相同于字线W(63)上的存储单元的储存状态。也就是说,信息帧DF(129)与DF(130)会被重重写入至字线W(64)上的存储单元所构成的下物理编程单元PBA(0-131)与上物理编程单元PBA(0-132))中。基此,由于邻近于存有有效信息帧的存储单元的存储单元已被编程,因此,既使可重写式非易失性存储器模块106处于高温下,其所储存的数据也不会因为边缘漏电而遗失。
必须了解的是,尽管在图19的范例中,物理抹除单元304(0)的字线W(64)上的存储单元是被编程成相同于字线W(63)上的存储单元的储存状态,但本发明不限于此。在另一范例实施例,存储器控制器104(或存储器管理电路202)亦可以相同于其他字线(例如,字线W(0)~字线W(62)的其中之一)上的存储单元的储存状态来编程字线W(64)上的存储单元。另外,在一范例实施例中,存储器控制器104(或存储器管理电路202)亦可将此物理抹除单元中所有未写入信息帧的存储单元编程成相同于字线W(63)上的存储单元的储存状态。
图20是根据第二范例实施例所绘示的数据写入方法的流程图。
请参照图20,当欲将数据量不满一个物理抹除单元的容量的数据写入至可重写式非易失性存储器模块106时,在步骤S2001中,此数据会根据物理编程单元的大小被划分为多个信息帧。值得一的是,由于欲写入的数据的大小是小于一个物理抹除单元的容量,因此,在步骤S2001中所获得的信息帧的数目是小于一个物理抹除单元的物理编程单元的数目。
在步骤S2003中,这些信息帧会被依序地编程至至少一字线(以下称为第一字线)上的存储单元所构成的物理编程单元中。之后,在步骤S2005中,将位于邻接于第一字线的至少一字线(以下称为第二字线)上的存储单元编程成辅助态样。如上所述,第二字线上的存储单元会被编程成中间储存状态或者相同于第一字线之中最后一条字线的储存状态。
综上所述,本发明范例实施例的数据写入方法、存储器控制器与存储器储存装置能够有效地避免在一个物理抹除单元未被写满下而导致的数据遗失。
Claims (25)
1.一种数据写入方法,用于将一数据写入至一物理抹除单元中,其中该物理抹除单元包括多个存储单元、多条字线与多条位线,每一这些存储单元与这些字线的其中一条字线以及这些位线的其中一条位线电性连接,这些存储单元构成多个物理编程单元,这些物理编程单元包括多个下物理编程单元与多个上物理编程单元,写入数据至这些下物理编程单元的速度快于写入数据至这些上物理编程单元的速度,该数据写入方法包括:
将该数据以每一物理编程单元为单位划分为多笔信息帧,其中这些信息帧的数目小于该物理抹除单元的这些物理编程单元的数目;以及
先填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧,或将至少一第二字线上的存储单元编程成一辅助态样,其中该至少一第二字线邻接这些字线之中的至少一第一字线,该至少一第一字线储存至少部份这些信息帧并且该辅助态样为一无效数据,
其中在该物理抹除单元中,该至少一第一字线无邻接一第三字线,其中该第三字线上的存储单元中的储存状态为一抹除状态。
2.如权利要求1所述的数据写入方法,其中每一这些存储单元的储存状态包括一第一储存状态、一第二储存状态、一第三储存状态与一第四储存状态,其中对应该第一储存状态的一验证电压小于对应该第二储存状态的一验证电压,对应该第二储存状态的该验证电压小于对应该第三储存状态的一验证电压,对应该第三储存状态的该验证电压小于对应该第四储存状态的一验证电压,
其中上述将至少一第二字线上的存储单元编程成该辅助态样的步骤包括:将这些信息帧依序地写入至该至少一第一字线上的存储单元所构成的至少一物理编程单元中;以及将该至少一第二字线上的存储单元编程成该第二储存状态或该第三储存状态。
3.如权利要求1所述的数据写入方法,其中上述将至少一第二字线上的存储单元编程成该辅助态样的步骤包括:根据该至少一第一字线上的存储单元的储存状态来设定该辅助态样;以及将该至少一第二字线上的存储单元编程成该辅助态样。
4.如权利要求3所述的数据写入方法,其中上述将该至少一第二字线上的存储单元编程成该辅助态样的步骤包括:将该至少一第二字线上的存储单元编程成相同于位于该至少一第一字线之中最后一条字线上的存储单元的储存状态。
5.如权利要求1所述的数据写入方法,其中上述先填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧的步骤包括:
将这些信息帧之中的部分信息帧写入至该物理抹除单元中以填满这些下物理编程单元;以及
在这些下物理编程单元被填满之后将这些信息帧之中的其他信息帧写入至该物理抹除单元的这些上物理编程单元中。
6.如权利要求1所述的数据写入方法,其中上述将至少一第二字线上的存储单元编程成该辅助态样的步骤包括:将一乱数值编程至该至少一第二字线上的存储单元。
7.如权利要求6所述的数据写入方法,其中该至少一第二字线上各存储单元的储存状态电位不大于该至少一第一字线上相对应的存储单元的储存状态电位。
8.如权利要求6所述的数据写入方法,其中该至少一第二字线上各存储单元的储存状态电位不大于该至少一第一字线上相对应的存储单元的储存状态电位与第一储存状态电位的中间值。
9.一种存储器控制器,用于控制一可重写式非易失性存储器模块,该存储器控制器包括:
一主机接口,用以电性连接至一主机系统;
一存储器接口,用以电性连接至该可重写式非易失性存储器模块;以及
一存储器管理电路,电性连接至该主机接口与该存储器接口,并且用以将一数据写入至该可重写式非易失性存储器模块的一物理抹除单元中,其中该物理抹除单元包括多个存储单元、多条字线与多条位线,每一这些存储单元与这些字线的其中一条字线以及这些位线的其中一条位线电性连接,这些存储单元构成多个物理编程单元,这些物理编程单元包括多个下物理编程单元与多个上物理编程单元,写入数据至这些下物理编程单元的速度快于写入数据至这些上物理编程单元的速度,
其中该存储器管理电路将该数据以每一物理编程单元为单位划分为多笔信息帧,其中这些信息帧的数目小于该物理抹除单元的这些物理编程单元的数目,
其中该存储器管理电路先填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧,或将至少一第二字线编程一辅助态样,其中该至少一第二字线邻接这些字线之中的至少一第一字线,该至少一第一字线储存至少部份这些信息帧并且该辅助态样为一无效数据,其中在该物理抹除单元中,该至少一第一字线无邻接一第三字线,其中该第三字线上的存储单元中的储存状态为一抹除状态。
10.如权利要求9所述的存储器控制器,其中每一这些存储单元的储存状态包括一第一储存状态、一第二储存状态、一第三储存状态与一第四储存状态,其中对应该第一储存状态的一验证电压小于对应该第二储存状态的一验证电压,对应该第二储存状态的该验证电压小于对应该第三储存状态的一验证电压,对应该第三储存状态的该验证电压小于对应该第四储存状态的一验证电压,
其中在将该至少一第二字线编程成该辅助态样的运作中,该存储器管理电路将这些信息帧依序地写入至该至少一第一字线上的存储单元所构成的至少一物理编程单元中并且将该至少一第二字线上的存储单元编程成该第二储存状态或该第三储存状态。
11.如权利要求9所述的存储器控制器,其中该存储器管理电路根据该至少一第一字线上的存储单元的储存状态来设定该辅助态样。
12.如权利要求11所述的存储器控制器,其中该辅助态样为相同于位于该至少一第一字线之中一最后一条字线上的存储单元的储存状态。
13.如权利要求9所述的存储器控制器,其中在先将填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧的运作中,该存储器管理电路将这些信息帧之中的部分信息帧写入至该物理抹除单元中以填满这些下物理编程单元,并且在这些下物理编程单元被填满之后将这些信息帧之中的其他信息帧写入至该物理抹除单元的这些上物理编程单元中。
14.如权利要求9所述的存储器控制器,其中在上述将至少一第二字线上的存储单元编程成该辅助态样的运作中,该存储器管理电路将一乱数值编程至该至少一第二字线上的存储单元。
15.如权利要求9所述的存储器控制器,其中该至少一第二字线上各存储单元的储存状态电位不大于该至少一第一字线上相对应的存储单元的储存状态电位。
16.如权利要求9所述的存储器控制器,其中该至少一第二字线上各存储单元的储存状态电位不大于该至少一第一字线上相对应的存储单元的储存状态电位与第一储存状态电位的中间值。
17.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可重写式非易失性存储器模块;以及
一存储器控制器,电性连接至该连接器与该可重写式非易失性存储器模块,并且用以将一数据写入至该可重写式非易失性存储器模块的一物理抹除单元中,其中该物理抹除单元包括多个存储单元、多条字线与多条位线,每一这些存储单元与这些字线的其中一条字线以及这些位线的其中一条位线电性连接,这些存储单元构成多个物理编程单元,这些物理编程单元包括多个下物理编程单元与多个上物理编程单元,写入数据至这些下物理编程单元的速度快于写入数据至这些上物理编程单元的速度,
其中该存储器控制器将该数据以每一物理编程单元为单位划分为多笔信息帧,其中这些信息帧的数目小于该物理抹除单元的这些物理编程单元的数目,
其中该存储器控制器将这些信息帧依序地写入至该物理抹除单元的这些字线之中的至少一第一字线上的存储单元所构成的至少一物理编程单元中,
其中该存储器控制器先将填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧,或将至少一第二字线上的存储单元编程成一辅助态样,其中该至少一第二字线邻接这些字线之中的至少一第一字线,该至少一第一字线储存至少部分这些信息帧并且该辅助态样为一无效数据,其中在该物理抹除单元中,该至少一第一字线无邻接一第三字线,其中该第三字线上的存储单元中的储存状态为一抹除状态。
18.如权利要求17所述的存储器储存装置,其中每一这些存储单元的储存状态包括一第一储存状态、一第二储存状态、一第三储存状态与一第四储存状态,其中对应该第一储存状态的一验证电压小于对应该第二储存状态的一验证电压,对应该第二储存状态的该验证电压小于对应该第三储存状态的一验证电压,对应该第三储存状态的该验证电压小于对应该第四储存状态的一验证电压,
其中在将至少一第二字线上的存储单元编程成该辅助态样的运作中该存储器控制器将这些信息帧依序地写入至该至少一第一字线上的存储单元所构成的至少一物理编程单元中并且将该至少一第二字线上的存储单元编程成该第二储存状态或该第三储存状态。
19.如权利要求17所述的存储器储存装置,其中该存储器控制器根据该至少一第一字线上的存储单元的储存状态来设定该辅助态样。
20.如权利要求19所述的存储器储存装置,其中该辅助态样为相同于位于该至少一第一字线之中的最后一条字线上的存储单元的储存状态。
21.如权利要求17所述的存储器储存装置,其中其中在先将填满这些下物理编程单元后再使用这些上物理编程单元来写入这些信息帧的运作中,该存储器控制器将这些信息帧之中的部分信息帧写入至该物理抹除单元中以填满这些下物理编程单元,并且在这些下物理编程单元被填满之后将这些信息帧之中的其他信息帧写入至该物理抹除单元的这些上物理编程单元中。
22.如权利要求17所述的存储器储存装置,其中在上述将至少一第二字线上的存储单元编程成该辅助态样的运作中,该存储器控制器将一乱数值编程至该至少一第二字线上的存储单元。
23.如权利要求17所述的存储器储存装置,其中该至少一第二字线上各存储单元的储存状态电位不大于该至少一第一字线上相对应的存储单元的储存状态电位。
24.如权利要求17所述的存储器储存装置,其中该至少一第二字线上各存储单元的储存状态电位不大于该至少一第一字线上相对应的存储单元的储存状态电位与第一储存状态电位的中间值。
25.一种存储器储存装置,包括:
一连接器,用以电性连接至一主机系统;
一可重写式非易失性存储器模块,具有多个物理抹除单元中,其中每一这些物理抹除单元包括多个存储单元、多条字线与多条位线,每一这些存储单元与这些字线的其中一条字线以及这些位线的其中一条位线电性连接,这些存储单元构成多个物理编程单元;以及
一存储器控制器,电性连接至该连接器与该可重写式非易失性存储器模块;
其中这些物理抹除单元之中的其中一个物理抹除单元的一第二字线储存一无效数据,并且邻接于该第二字线的一第一字线储存一有效数据,其中该第二字线储存的储存状态为一非抹除状态或者为相同于该第一字线的储存状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310168330.7A CN104142801B (zh) | 2013-05-09 | 2013-05-09 | 数据写入方法、存储器控制器与存储器储存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310168330.7A CN104142801B (zh) | 2013-05-09 | 2013-05-09 | 数据写入方法、存储器控制器与存储器储存装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104142801A CN104142801A (zh) | 2014-11-12 |
CN104142801B true CN104142801B (zh) | 2017-04-12 |
Family
ID=51851988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310168330.7A Active CN104142801B (zh) | 2013-05-09 | 2013-05-09 | 数据写入方法、存储器控制器与存储器储存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104142801B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105810246B (zh) * | 2014-12-31 | 2020-08-11 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
CN113515064B (zh) * | 2021-03-29 | 2022-07-01 | 管晓翔 | 针对医疗药品冷藏配送的信息传递平台及其传递方法 |
CN114153398A (zh) * | 2021-12-07 | 2022-03-08 | 深圳忆联信息系统有限公司 | 固态硬盘性能优化方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432819A (zh) * | 2006-05-04 | 2009-05-13 | 美光科技公司 | 用于在非易失性存储器装置中读取多电平单元的方法 |
TW200945348A (en) * | 2007-12-20 | 2009-11-01 | Samsung Electronics Co Ltd | Semiconductor memory system and access method thereof |
CN102682848A (zh) * | 2011-03-16 | 2012-09-19 | 三星电子株式会社 | 存储器装置、存储器卡、固态驱动器、系统及其操作方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7751242B2 (en) * | 2005-08-30 | 2010-07-06 | Micron Technology, Inc. | NAND memory device and programming methods |
US7400532B2 (en) * | 2006-02-16 | 2008-07-15 | Micron Technology, Inc. | Programming method to reduce gate coupling interference for non-volatile memory |
-
2013
- 2013-05-09 CN CN201310168330.7A patent/CN104142801B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101432819A (zh) * | 2006-05-04 | 2009-05-13 | 美光科技公司 | 用于在非易失性存储器装置中读取多电平单元的方法 |
TW200945348A (en) * | 2007-12-20 | 2009-11-01 | Samsung Electronics Co Ltd | Semiconductor memory system and access method thereof |
CN102682848A (zh) * | 2011-03-16 | 2012-09-19 | 三星电子株式会社 | 存储器装置、存储器卡、固态驱动器、系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104142801A (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI498898B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
US9361167B2 (en) | Bit error rate estimation for wear leveling and for block selection based on data type | |
CN103870399B (zh) | 存储器管理方法、存储器控制器与存储器储存装置 | |
CN103514096B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN104282339B (zh) | 读取电压设定方法、控制电路与存储器储存装置 | |
CN103699491B (zh) | 数据储存方法、存储器控制器与存储器储存装置 | |
CN105320464B (zh) | 防止读取干扰的方法、存储器控制电路单元与存储装置 | |
CN106683701B (zh) | 存储器管理方法、存储器储存装置及存储器控制电路单元 | |
CN106484307B (zh) | 存储器管理方法、存储器控制电路单元及存储器存储装置 | |
CN108766495A (zh) | 数据写入方法、存储器控制器与存储器存储装置 | |
CN104952486B (zh) | 数据储存方法、存储器控制电路单元以及存储器储存装置 | |
CN103136111B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN102902626B (zh) | 区块管理方法、存储器控制器与存储器储存装置 | |
CN110111832A (zh) | 半导体存储器装置及其操作方法 | |
CN107958687A (zh) | 存储器编程方法、存储器控制电路单元及其存储装置 | |
CN105022695A (zh) | 数据存储方法、存储器控制电路单元与存储器存储装置 | |
CN105988880B (zh) | 存储器管理方法、存储器控制电路单元及存储器储存装置 | |
CN104142801B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN106445404B (zh) | 存储器编程方法、存储器控制电路单元与存储器存储装置 | |
CN103577344B (zh) | 数据写入方法、存储器控制器与存储器储存装置 | |
CN103544118B (zh) | 存储器储存装置、其存储器控制器与数据写入方法 | |
CN105989883B (zh) | 存储器编程方法、存储器存储装置与存储器控制电路单元 | |
CN104102598B (zh) | 数据读取方法、控制电路、存储器模块与存储器储存装置 | |
CN104167220B (zh) | 数据读取方法、控制电路、存储器模块与存储器存储装置 | |
CN104731710B (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 |